Я хотел бы сохранить токены, сгенерированные Solr во время индексации, такие как DictionaryCompoundWordToken, а затем экспортировать их, надеюсь, используя CSVResponseWriter. Есть ли способ сделать это?

Я знаю, что можно использовать инструмент анализа для предоставления значений и просмотра их токенизации, но я не знаю, как это сделать для всего индекса или, по крайней мере, на основе запроса.

0
Robert Watts 23 Дек 2013 в 15:11

2 ответа

Лучший ответ

Давайте посмотрим, я думаю, что вы хотите сохранить, наряду с исходным содержимым какого-то поля, значение поля, но после того, как оно пройдет некоторую цепочку анализа, верно?

Вы могли бы подумать, что copyFields поможет, но они не так, как если бы вы их хранили, исходное значение поля сохраняется. Вам нужно использовать updateProcessor. Посмотрите это выступление Эрика Хэтчера, примерно с 7:30 до 20:00, и вы увидите, как именно этот случай очень хорошо объясняется, с примерами и всем остальным.

Как только вы сохраните это в индексе, вы можете вернуть его и делать все, что захотите.

2
Persimmonium 18 Янв 2015 в 22:39

Один из способов взглянуть на это заключается в следующем: вы проиндексируете содержание своего документа в поле «mytext» с помощью вашего DictionaryCompoundWordToken или любого другого анализа, который соответствует вашим потребностям. Затем вы можете фасетировать "mytext" с помощью q = *: *, ваш запрос будет выглядеть так: http://localhost:8983/solr/collection1/select?q=*%3A*&start=0&rows=1&wt=xml&indent=true&facet=true&facet.field=mytext Это должно дать все токены, которые вошли в mytext. Но я не уверен на 100% в ваших ожиданиях относительно того, что вы сказали в вопросе. Сообщите мне, это поможет.

0
Arun 23 Дек 2013 в 16:29