Solr突出显示同义词和查询词中的同义词.txt中的单词

时间:2019-03-25 22:43:59

标签: solr solrcloud solr6

我是Solr的新手,并且尝试找出加亮显示多词同义词问题的一般解决方案是什么:
1.当我们搜索发刷时,牙刷一词也被突出显示,因为同义词中的牙刷是。文件。

HAIR BRUSH,HAIRBRUSH,HAIR-BRUSH,HAIRBRUSHES,HAIR BRUSHES 
TOOTH BRUSH,TOOTHBRUSH,TOOTH-BRUSH,TOOTHBRUSHES,TOOTH BRUSHES 
  1. 是否可以让我知道这是因为在索引时间和查询时间都使用了SynonymGraphFilterFactory吗?
  2. 如果不是,则需要执行哪些操作以使与查询词不匹配的词不会突出显示。

fieldType的schema.xml配置如下:

<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
           <charFilter class="solr.PatternReplaceCharFilterFactory" 
                    pattern="[({.,\[\]/})]" replacement=" "/>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" preserveOriginal="1"  catenateAll="1"  />
        <filter class="solr.ASCIIFoldingFilterFactory" preserveOriginal="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.SnowballPorterFilterFactory" language="English" />
      </analyzer>
      <analyzer type="query">
           <charFilter class="solr.PatternReplaceCharFilterFactory" 
                    pattern="[({.,\[\]/})]" replacement=" "/>
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" /> 
        <filter class="solr.ASCIIFoldingFilterFactory" preserveOriginal="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.SnowballPorterFilterFactory" language="English" />
        </analyzer>
    </fieldType>

我们正在使用Solr:6.5.1

0 个答案:

没有答案