gpt4 book ai didi

elasticsearch - 按文档类型查询特定字段

转载 作者:行者123 更新时间:2023-12-02 23:04:50 26 4
gpt4 key购买 nike

我目前正在使用Elasticsearch,并且正在尝试构建一个搜索查询,以根据文档类型在不同的字段中查找关键字。

Example:

Index Name: index1

Document types:

  • doc1 (_id, name, size, color, weight)
  • doc2 (_id, name, duration, length, width, height)

现在,我想查询 index1中的 doc1doc2类型的文档,但是在 doc1中,我只想在 namesizeweight列中搜索,而在 doc2中,我想在 namelengthheight列中搜索。
如何在单个查询中实现?

最佳答案

您可以按类型和名称引用这些字段,并使用 bool(boolean) 查询。下面是一个基本示例。

{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{
"term": {
"doc1.name": {
"value": "2"
}
}
},
{
"term": {
"doc1.size": {
"value": "23"
}
}
},
{
"term": {
"doc1.weight": {
"value": "52"
}
}
}
]
}
},
{
"bool": {
"must": [
{
"term": {
"doc2.name": {
"value": "2"
}
}
},
{
"term": {
"doc2.length": {
"value": "23"
}
}
},
{
"term": {
"doc2.height": {
"value": "52"
}
}
}
]
}
}
]
}
}
}

关于elasticsearch - 按文档类型查询特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21757535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com