ElasticSearch相似短语检索优化:基于span_near与fuzzy query
短语相似性检索优化求助
我目前用span_near结合模糊查询实现短语文本检索,这套方案在输入精确短语(哪怕词序错误)时表现良好,但现在需要实现非精确但高度相似的短语检索,具体要求如下:
示例文本
I wake up early because his dog barks loudly
需命中文档的检索场景
I wake up early(精确短语)I wake up because dog barks(短语中间缺失少量词汇)I always wake up early because dog barks(短语中间新增少量词汇)
不应命中文档的检索场景
I wake up and bark(短语缺失词汇过多)I wake up often at the 2 am and when the Moon is alright wolves bark under my window.(短语新增词汇过多)
以下是我当前使用的代码(词汇以空格分隔,每个词汇加入span_multi对象):
{ "query": { "bool": { "must": [ { "span_near": { "clauses": [ { "span_multi": { "match": { "fuzzy": { "text": { "value": "I", "fuzziness": 2 } } } } }, { "span_multi": { "match": { "fuzzy": { "text": { "value": "wake", "fuzziness": 2 } } } } }, { "span_multi": { "match": { "fuzzy": { "text": { "value": "up", "fuzziness": 2 } } } } } ], "slop": 5, "in_order": false } } ] } }, "size": 20, "from": 0, "sort": [ { "petition_number": { "unmapped_type": "keyword", "order": "asc" } } ] }
内容的提问来源于stack exchange,提问作者Ярига Олег
相关产品推荐
相关产品推荐

