首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有谁有最好的方法来搜索solr中的多个关键字的同义词?

有谁有最好的方法来搜索solr中的多个关键字的同义词?
EN

Stack Overflow用户
提问于 2013-06-21 06:09:20
回答 1查看 784关注 0票数 0

我想在solr中使用同义词搜索多个关键字。但效果不太好。

我在synonym.txt中设置了“多术语”的同义词。我希望Solr能像“字段:”“多项”~0一样,对“多术语”进行查询短语,但“字段:多个”字段:“术语”,因此不能对多个同义词进行亲密搜索。

在Solr中,有谁有多项同义词搜索的最佳方法?请帮帮我~

EN

回答 1

Stack Overflow用户

发布于 2013-06-21 17:00:19

以下是我如何处理多个单词同义词的方法。在我的schema.xml中,fieldType定义如下:

代码语言:javascript
复制
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizer="solr.KeywordTokenizerFactory"/>

<fieldType name="custom_text_general" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <!-- We will use synonyms only at index time to keep querying fast-->
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" tokenizer="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.SnowballPorterFilterFactory" language="English" />
    </analyzer>
    <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
        <!-- We will use synonyms only at index time to keep querying fast
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        -->
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.SnowballPorterFilterFactory" language="English" />
    </analyzer>
</fieldType>

有几件事要注意:

  • 我只在索引时使用同义词,以保持查询速度。
  • 我添加了KeywordTokenizerFactory,它将整个字段视为单个标记,不拆分多个单词同义词。
  • 我添加了expand=“真”。如果展开为真,则同义词将展开为所有等效的同义词。如果是假的,则所有等效的同义词都将减少到列表中的第一个。
  • 查询时间同义词被注释掉。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17228714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档