您如何索引和查询包含自定义权重的文档,以便可以使用该权重来推广特定的查询结果?
我已经用诸如的机构索引了简单的文档{"text":"how now brown cow", "weight":2.3}
。
使用Python包装器,我可以通过执行以下操作轻松搜索这些内容:
es = Elasticsearch()
results = es.search(
index='my_index',
body={
'query':{
'query_string':{
'query':my_search_terms,
},
},
},
)
但是,在阅读了文档之后,我无法弄清楚如何合并权重字段,从而使该值提高结果。我该怎么做?
我相信您可以使用function_score查询来做到这一点
就像是:
{
"query": {
"function_score": {
"query": {
"match": {
"text": "how now brown cow"
}
},
"functions": [{
"script_score": {
"script": "doc['weight'].value"
}
}],
"score_mode": "multiply"
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句