Я модифицировал пример techproducts, чтобы узнать больше о синонимах. Добавили поле имеет тип text2_deSolr: синтаксис синтаксического запроса для синонимов?
<fieldType name="text2_de" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.ClassicTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" format="snowball" words="lang/stopwords_de.txt" ignoreCase="true"/>
<filter class="solr.SynonymFilterFactory" expand="true" ignoreCase="true" synonyms="index_synonyms.txt"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.ClassicTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
index_synonyms.txt был расширен за счет иерархических синонимов, начиная с уровня для огранки согласно https://wiki.apache.org/solr/HierarchicalFaceting
aaafoo => aaabar
bbbfoo => bbbfoo bbbbar
cccfoo => cccbar cccbaz
fooaaa,baraaa,bazaaa
Umwelt => 1/HS , 2/HS/Bereich , 3/HS/Bereich/Umwelt
Mensch => 1/HS , 2/HS/Bereich , 3/HS/Bereich/Mensch
...
загруженный термин информация показывает, что анализатор работает очень хорошо и нашел 60x "2/hs/bereich" в наборе документов.
loaded term info for the testfield
Я не в состоянии сделать Solr-запрос, чтобы найти эти 60 документов. Автогенерируемая гиперссылкой нагруженного термина информации
http://localhost:8983/solr/#/test/query?q=testfield:2%2Fhs%2Fbereich
не найдено ни одного матча (numFound = «0»):
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
<lst name="params">
<str name="q">testfield:2/hs/bereich</str>
<str name="indent">on</str>
<str name="wt">xml</str>
<str name="_">1463321610566</str>
</lst>
</lst>
<result name="response" numFound="0" start="0">
</result>
</response>
Пожалуйста, дайте мне совет, чтобы сделать точный синтаксис запроса Solr для синонимов найти эти 60 документов!