Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
elasticsearch:如果数组字段中至少有一个元素属于范围,则使用条件进行搜索_Search_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Nested_Nosql - Fatal编程技术网 elasticsearch,nested,nosql,Search,elasticsearch,Nested,Nosql" /> elasticsearch,nested,nosql,Search,elasticsearch,Nested,Nosql" />

elasticsearch:如果数组字段中至少有一个元素属于范围,则使用条件进行搜索

elasticsearch:如果数组字段中至少有一个元素属于范围,则使用条件进行搜索,search,elasticsearch,nested,nosql,Search,elasticsearch,Nested,Nosql,我有三份文件要查 { "_index": "test", "_type": "elem", "_id": "2", "_version": 1, "_score": 1, "_source": { "price": "[17,19,30]" } } , 及 当我质疑的时候 { "query" : { "filtered" : { "filter" : { "range" : { "price" :{

我有三份文件要查

{
  "_index": "test",
  "_type": "elem",
  "_id": "2",
  "_version": 1,
  "_score": 1,
  "_source": {
    "price": "[17,19,30]"
  }
}
,

当我质疑的时候

{
  "query" : {
    "filtered" : {
      "filter" : {
        "range" : {
          "price" :{
            "gte":20,
            "lte":25
          }
        }
      }
    }
  }
}
响应不包含任何此元素,如何查询以获得准确的结果? 我去拿

`{
  "_index": "test",
  "_type": "elem",
  "_id": "3",
  "_version": 1,
  "_score": 1,
  "_source": {
    "price": "[17,22,30]"
  }
}
`因为22在[20,25]范围内,所以结果不佳。
请帮帮我。提前谢谢。

您可以这样存储文档:

{
  "prices": [
    {
      "price": 22
    },
    {
      "price": 20
    }
  ]
}
并使用以下命令进行查询:

{
  "query" : {
    "filtered" : {
      "filter" : {
        "range" : {
          "prices.price" :{
            "gte":20,
            "lte":25
          }
        }
      }
    }
  }
}

你能分享这个索引的映射吗?
“映射”:{“elem”:{“properties”:{“price”:{“type”:“double”}}}
这是映射@ArchitSaxenaI忘记了这个问题。不管怎样,我会回答的,尽管可能已经太晚了
{
  "prices": [
    {
      "price": 22
    },
    {
      "price": 20
    }
  ]
}
{
  "query" : {
    "filtered" : {
      "filter" : {
        "range" : {
          "prices.price" :{
            "gte":20,
            "lte":25
          }
        }
      }
    }
  }
}