[英]How to prefix match a doc value -> search term in lucene search engines like Solr, ElasticSearch
我们需要从<document value> -> <search term>
进行前缀匹配。 在 Solr、ElasticSearch 中可以反向,它是<search term> -> <document value>
例子:
Search term -> "traveling the world"
Document field value -> "travel"
不确定如何前缀匹配或模糊此查询,以便我们可以获得此文档结果。
前缀匹配就像这样"travel*"
搜索词 -> "travel"
文档字段值 -> "traveling the world"
尝试在您的字段定义中使用 PorterStemFilterFactory。
<filter class="solr.PorterStemFilterFactory"/>
您的定义可能如下所示:
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory "/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
这是输入,output 将是:
在: “跳跳跳跳”
要过滤的分词器: “jump”、“jumping”、“jumped”
出: “跳”、“跳”、“跳”
还有另一种替代方法,称为 solr.KStemFilterFactory,它的攻击性较低。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.