Solr :搜索查询子字符串的同义词



我们想搜索查询字符串的同义词。如果我在同义词文件中有"pm,项目经理"条目。如果我搜索"pm"或"项目经理",我会正确获得结果。

但是当我搜索"项目经理操作"时,Solr没有给出正确的结果,包括"pm"的搜索结果。但是当我调试时,我可以看到它正在将"项目经理"扩展到"pm"

以下是我的配置

<fieldType name="text_jobs_synonym" class="solr.TextField" positionIncrementGap="1" autoGeneratePhraseQueries="true">
  <analyzer type="index">
        <charFilter class="solr.HTMLStripCharFilterFactory"/>  
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
        <filter class="solr.ShingleFilterFactory" maxShingleSize="3" outputUnigrams="true" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>           
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizerFactory="solr.KeywordTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    </analyzer>
</fieldType>

这是毫米值"2<90%"。

如何处理多术语同义词

使用 edismax 查询解析器来处理用户查询 mith 帮助。

检查此链接

最新更新