ElasticSearch:使用edge_ngram和模糊性进行部分完全评分

ElasticSearch:使用edge_ngram和模糊性进行部分完全评分,第1张

ElasticSearch:使用edge_ngram和模糊性进行部分/完全评分

解决此问题的一种方法是像这样在映射中添加文本的原始版本

        last: { type: 'string', required : true, include_in_all: true, term_vector: 'yes', index_analyzer: 'ngram_analyzer', search_analyzer: 'standard', "fields": {      "raw": {          "type":  "string"  <--- index with standard analyzer        }    }         },         first: { type: 'string', required : true, include_in_all: true, term_vector: 'yes', index_analyzer: 'ngram_analyzer', search_analyzer: 'standard', "fields": {      "raw": {          "type":  "string"  <--- index with standard analyzer        }    }         },

你也可以把它 精确

index : not_analyzed

然后您可以像这样查询

{  "query": {    "bool": {      "should": [        {          "match": { "_all": {   "query": "Michael",   "fuzziness": 2,   "prefix_length": 1 }          }        },        {          "match": { "last.raw": {   "query": "Michael",   "boost": 5 }          }        },        {          "match": { "first.raw": {   "query": "Michael",   "boost": 5 }          }        }      ]    }  }}

匹配更多条款的文档得分更高。您可以

boost
根据需要指定。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4982967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存