gpt4 book ai didi

ruby-on-rails - 使用 Solr 和 sunspot 进行模糊搜索

转载 作者:行者123 更新时间:2023-12-02 03:47:00 27 4
gpt4 key购买 nike

我已经为我的 Rails 3.0 应用程序安装了 Solr 和 Sunspot gem。

我的目标是进行模糊搜索。例如,我希望搜索词“Chatuea Marguxa”被发现为“Château Margaux”。

实际上,只找到完全相同的单词,所以模糊根本不起作用。

我的模型:

  searchable do
text :winery
end

我的 Controller :

   search = Wine.search do
fulltext 'Chatuea Marguxa'
end

我用 ngrams 尝试过的 solr 模式:

<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15"/>
</analyzer>

我也试过双变音位:

<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
<filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
</analyzer>

在这两种情况下,我都得到了 0 个响应。 (当然是在重建索引之后)。

我做错了什么?

最佳答案

尝试在查询中的所有单词后面添加字符'~'。像这样:Chatuea~ Marguxa~。这是在 lucene 中实现的模糊运算符:http://lucene.apache.org/core/3_6_0/queryparsersyntax.html#Fuzzy%20Searches

关于ruby-on-rails - 使用 Solr 和 sunspot 进行模糊搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16301328/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com