我在弹性搜索中有三个文件
{
"_index": "test",
"_type": "elem",
"_id": "2",
"_version": 1,
"_score": 1,
"_source": {
"price": "[17,19,30]"
}
}
,
{
"_index": "test",
"_type": "elem",
"_id": "3",
"_version": 1,
"_score": 1,
"_source": {
"price": "[17,22,30]"
}
}
和
{
"_index": "test",
"_type": "elem",
"_id": "1",
"_version": 1,
"_score": 1,
"_source": {
"price": "[1,2,3]"
}
}
我在查询时
{
"query" : {
"filtered" : {
"filter" : {
"range" : {
"price" :{
"gte":20,
"lte":25
}
}
}
}
}
}
响应中不包含任何一个元素,如何查询获取确切结果? 我会,
`{
"_index": "test",
"_type": "elem",
"_id": "3",
"_version": 1,
"_score": 1,
"_source": {
"price": "[17,22,30]"
}
}
`结果因为[20,25]范围内的22。 请帮我。提前谢谢。
答案 0 :(得分:1)
您可以将文档存储起来:
{
"prices": [
{
"price": 22
},
{
"price": 20
}
]
}
并使用以下方式查询:
{
"query" : {
"filtered" : {
"filter" : {
"range" : {
"prices.price" :{
"gte":20,
"lte":25
}
}
}
}
}
}