node.js - 在 Elasticsearch 中搜索时考虑多个字段
问题描述
我想使用 Elasticsearch 实现一个简单的搜索查询。
我有两个字段,"title"
我"description"
想将搜索词与之匹配。目前,我将下面显示的正文作为搜索正文的正文。我怎样才能使搜索优先title
匹配匹配,但如果 中有匹配项description
,它们仍然包含在搜索中(优先级较低)?提前致谢。
body = {
size: 200,
from: 0,
query: {
prefix: {
title: searchTerm
}
}
}
解决方案
您可以将bool/should
子句与boost参数结合使用
{
"query": {
"bool": {
"should": [
{
"prefix": {
"title": {
"value": "searchterm"
}
}
},
{
"prefix": {
"description": {
"value": "searchterm",
"boost": 4
}
}
}
]
}
}
}
推荐阅读
- python - 名称为无效 Python 标识符的 django-rest-framework ModelSerializer 字段
- angular - Angular 6: HttpErrorResponse SyntaxError: Unexpected token s in JSON
- python - 改变 np.array 的输出结果
- ios - 添加调用另一个类中的函数的点击手势
- corda - 如何在 Corda 中获取附件元数据
- javascript - const page = window.location.pathname + 字符串
- webpack - babel-polyfill@7 应该导入 index.js 还是 webpack 入口点?
- jquery - 使用 jquery 验证 gumroad 许可证
- python - 如何从 Python 字符串编辑 HTML 网站信息
- javascript - ExpressJS POST 参数混淆