我正在尝试解决如何在 Solr (8.11.1) 中为搜索查询设置文本分析器
这是我的处理程序设置solrconfig.xml
:
<requestHandler name="/select" class="solr.SearchHandler">
<!-- default values for query parameters can be specified, these
will be overridden by parameters in the request
-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">100</int>
<int name="qs">8</int>
</lst>
</requestHandler>
我想要做的是能够使用此字段类型进行搜索:(这是在 中设置的managed-schema.xml
)
<fieldType name="synonymized" class="solr.TextField">
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" format="solr" ignoreCase="true" expand="true" tokenizerFactory="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern="(_)" replacement=" " replace="all"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
</analyzer>
</fieldType>
我该怎么做?对于 Solr 6.6(我们的旧服务器),我们使用了这个插件:https ://github.com/o19s/match-query-parser ,然后传入analyze_as=synonymized
,但不幸的是,该插件似乎不适用于 Solr 8.11.1
希望这是有道理的!请询问您是否需要澄清任何事情(Solr 是一个复杂的野兽,我仍在努力解决其中的一些问题!)