如何索引和查询包含自定义权重的文档,以便您可以使用该权重来提升特定查询结果?
我使用{"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,
},
},
},
)
但是,在阅读docs之后,我无法弄清楚如何合并权重字段,以便通过此值提高结果。我该怎么做?
答案 0 :(得分:1)
我相信你可以用function_score query
来做到这一点类似的东西:
{
"query": {
"function_score": {
"query": {
"match": {
"text": "how now brown cow"
}
},
"functions": [{
"script_score": {
"script": "doc['weight'].value"
}
}],
"score_mode": "multiply"
}
}
}