Банановая панель инструментов для Solr неправильно маркирует названия локаций - PullRequest
0 голосов
/ 18 января 2019

Я использую панель бананов для создания панели не временных рядов для моих данных, проиндексированных solr. Поле "location" в индексированных данных не отображается правильно в виджете фасетов банановой панели, а имена, такие как "San Francisco", "New York" отображаются как "San" и "Francisco" и "New" и "York".

Однако при перекрестной проверке результатов моего Solr Query эти поля правильно отображаются как единое целое "Сан-Франциско" и "Нью-Йорк".

В ядре Solr файл managed-schema.xml содержит следующие записи:

<field name="content" type="opennlp-en-tokenization" indexed="true" stored="true" multiValued="true"/>
<field name="person" type="text_general" indexed="true" stored="true" multiValued="true"/>
<field name="organization" type="text_general" indexed="true" stored="true" multiValued="true"/>
<field name="location" type="text_general" indexed="true" stored="true" multiValued="true"/>

Есть идеи, где я могу пойти не так?

Банановая панель инструментов с именами локаций, имеющими пробел, неправильно маркированный как два разных места

Banana Dashboard With Loc Names having Space Wrongly Tokenized As Two Different Places

Панель управления Solr с именами локальных узлов, которые правильно отображены в одном месте Solr Dashboard With Loc Names Having Space Correctly Shown As One Single Location

1 Ответ

0 голосов
/ 21 января 2019

Ваше поле местоположения имеет text_general в качестве токенизатора. Это разделит входные данные на несколько токенов, и в результате вы получите результат, который вы показываете.

Измените его на строковое поле или используйте KeywordTokenizer (если вам нужно обработать его каким-либо образом). Если вы все еще хотите использовать поле для поиска без точного соответствия, определите другое поле как строковое поле и фасет для этого и используйте copyField для копирования содержимого в оба поля.

Причина заключается в том, что для получения значений в фасетировании используется токен , а не сохраненный текст для поля (это то, что вы видите при запросе документа). Токены не видны напрямую (за исключением случаев, когда вы добавляете термины или извлекаете термины), но вы можете увидеть, как обрабатывается ваш контент и какие токены вводятся, как на странице «Анализ» в Solr Admin.

...