繁体   English   中英

Solr 4中模糊搜索的语法

[英]Syntax for fuzzy search in Solr 4

我一直在尝试为我们的Solr 4.1动力搜索启用模糊搜索,但是我能在网上找到的只是:

1-如何使用默认的lucene查询语法做到这一点,这对我来说没有帮助,
2-dismax不支持它,并且
3- edismax将要或应该支持它

但是,我找不到关于如何以edismax查询格式使用它的任何文档,甚至在默认的edsimax页面上也没有找到查询语法,该页面使用运算符〜来定义斜率因子。 我确实尝试根据在线一些链接在qf参数中指定它,但这没有用,并且我在这里还假设Solr 4.1默认使用edismax。

因此,如果有人知道它的工作方式或什至得到了支持,那么将非常感谢您提出任何建议。

这对我有用。

尝试在您的schema.xml中添加此fieldType。

这是不区分大小写的,并且对于西班牙语单词,但是更改它也应该对您有用。

<fieldType name="text_es_fuzzy" class="solr.TextField" positionIncrementGap="100">
  <analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_es.txt" format="snowball" enablePositionIncrements="true"/>
  </analyzer>
</fieldType>

此后,执行查询时,只需在搜索字符串的末尾添加“〜0.5”。 “ 0.5”是您可以选择的自定义值。 此值确定搜索的“模糊性”。 当该值接近零时,结果将变得“模糊”,反之亦然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM