如何在solr中将多词同义词作为单个实体获取?
我有一组术语,希望在查询时映射到特定短语。为此,我使用了如何在solr中将多词同义词作为单个实体获取?,solr,Solr,我有一组术语,希望在查询时映射到特定短语。为此,我使用了solr.SynonymFilterFactory。下面是schema.xml <fieldType name="text_lc" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class
solr.SynonymFilterFactory
。下面是schema.xml
<fieldType name="text_lc" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
</analyzer>
</fieldType>
以下是分析结果:
问题是小动物作为单独的标记出现,而我想搜索整个“小动物”。
如何在solr中将多词同义词作为单个实体获取?的,因为旧的同义词过滤器无法正确处理这些内容
多词同义词仍然很难正确使用,但新过滤器至少有一个多词同义词策略
参考指南中的示例:
<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>
请注意FlattGraphFilterFactory
要求
<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>