我有下一个索引文档:
[
{
id: 1
title: "Programming languages - Java",
},
{
id: 2
title: "Programming languages - Python",
},
{
id: 3
title: "Program languages - Lisp",
}
]
正在寻找有关java和python的文档的用户,可能会发出如下请求:有关编程java和python的书籍。
我可以构建查询以仅返回文档1和2吗?
问题是如果通过运算符AND组合术语,则不会发现任何内容。同时,当使用运算符OR时,将返回所有文档,但在这种情况下,id为3的文档是多余的。
还需要考虑在查询中可以包含文档中不存在的额外术语,例如书籍和单词"和"。
答案 0 :(得分:0)
简单的match查询可能已经满足您的需求:
{
"query": {
"match": {
"title": {
"query": "books about programming java and python",
"fuzziness": "AUTO"
}
}
}
}