Solr:查找包含查询字符串开始或结束的字段值的文档

时间:2016-09-15 18:21:54

标签: solr

我希望找到包含查询字符串开头或结尾的字段值的文档 - “向后查询”(或其他任何调用)。

假设我有一个包含以下字段值的文档:

allowed_hosts: *.example.org

我想要host1.example.org的查询来匹配此内容。

支持通配符(存储在文档中)会很好,但不是必需的。

1 个答案:

答案 0 :(得分:0)

使用EdgeNGramFilterFactory完成拐杖 对于前缀匹配

<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" side="front"/>

使用EdgeNGramFilter。为3到15之间的任何长度创建克(标记)

对于后缀匹配

side参数值更改为back将适用于solr版本&lt; = 4.3

来自solr4.3 +我们必须将它与ReverseStringFilter

结合起来
<filter class="solr.ReverseStringFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" side="front"/>

有关详细信息,请查看here