#solr
Вопрос:
Я пытаюсь реализовать синонимы для некоторого адресного поиска и мне удалось заставить их работать.
например, CT сопоставляется с СУДОМ, и поиск CLARA CT возвращает результаты для СУДА КЛАРЫ, и все это хорошо.
Проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что, если я запрошу 5 CT КЛАРЫ, я все равно получу CT КЛАРЫ (поскольку номера улиц не индексируются, только названия).
Возможно ли просто получить синоним для запроса (в обход индексированного значения), например. если я запрошу 5 CLARA CT, я получу обратно 5 CLARA COURT.
В анализаторе я вижу, что для 5 CLARA CT синонимграффильтр преобразует его в 5 CLARA COURT.
Ниже приведено то, что у меня есть в моей схеме…
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymGraphFilterFactory" synonyms="mysynonyms.txt"/>
<filter class="solr.FlattenGraphFilterFactory"/> <!-- required on index analyzers after graph filters -->
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymGraphFilterFactory" synonyms="mysynonyms.txt"/>
</analyzer>
</fieldType>