如何解决我如何使用Lucene查询语法在Elastic Search中进行嵌套字段查询
这是简单的用例,
我有一个将Lucene查询发送到我的弹性搜索的系统。我有一个映射
{
"mappings": {
"properties": {
"grocery_name":{
"type": "text"
},"items": {
"type": "nested","properties": {
"name": {
"type": "text"
},"stock": {
"type": "integer"
},"category": {
"type": "text"
}
}
}
}
}
}
数据看起来像
{
"grocery_name": "Elastic Eats","items": [
{
"name": "banana","stock": "12","category": "fruit"
},{
"name": "peach","stock": "10",{
"name": "carrot","stock": "9","category": "vegetable"
},{
"name": "broccoli","stock": "5","category": "vegetable"
}
]
}
如何查询以获取所有商品名称为香蕉和库存> 10 的商品,在KQL中,我可以编写类似items:{ name:banana and stock > 10 }
的内容>
解决方法
Lucene表达式语言不支持查询嵌套文档。这就是为什么KQL语言填补了这一空白。
这是目前通过Kibana搜索栏查询嵌套文档的唯一方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。