我希望找到包含查询字符串开头或结尾的字段值的文档 - “向后查询”(或其他任何调用)。
假设我有一个包含以下字段值的文档:
allowed_hosts: *.example.org
我想要host1.example.org
的查询来匹配此内容。
支持通配符(存储在文档中)会很好,但不是必需的。
答案 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