Почему фильтр синонимов solr не работает? - PullRequest
1 голос
/ 20 марта 2012

Все, что я пытаюсь сделать, это использовать Solr SynonymFilterFactory в моем schema.xml:

<fieldType name="text" class="solr.TextField" omitNorms="false">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
  </analyzer>
</fieldType>

synonyms.txt:

american, greek

Когда входная строка american, она не находит строку greek food в наборе результатов.
Но, когда я набираю greek, она находит greek food

Что-то не так в моих настройках или в моем файле синонимов?

Спасибо

Ответы [ 2 ]

2 голосов
/ 20 марта 2012

Единственное, что я могу заметить, это то, что вы используете синонимы как для запросов, так и для индексации, что не нужно.Попробуйте использовать синонимы только во время запроса.*

Я настоятельно рекомендую графический интерфейс анализа запросов Solr для устранения подобных проблем.Его можно найти в основном интерфейсе Solr Admin.Просто перейдите по ссылке, которая называется анализ.

* Ps, есть много хороших дискуссий о том, следует ли использовать синонимы для запроса или индекса времени.Это длинное и сложное обсуждение не подходит для этого ответа.

Удачи!

0 голосов
/ 03 февраля 2015

Для других, кто сталкивался с этим, у меня был тестовый пример: осел, eeore

В анализе GUI для запроса осла я ожидал eeore. Я не получил это. Получал только "осел". Думал, что мне может понадобиться сменить токенизатор.

Однако это было расширено = правда - у меня было false. Документы говорят, что если expand = false, он будет соответствовать только первому синониму из строки. Я установил на true, и это сработало, как я ожидал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...