当我执行空查询以列出一些结果时,我看到值存在。例如:
{
"took": 6,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 3024,
"max_score": 1.0,
"hits": [{
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-j6uVuoyTMhX204",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1029.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-mTuVuoyTMhX205",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1321.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-xkuVuoyTMhX209",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail2567.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5zr8uVuoyTMhX20F",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail2122.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5z23uVuoyTMhX20L",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1823.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-53uVuoyTMhX21A",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1616.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_AXuVuoyTMhX21C",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail3002.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_j3uVuoyTMhX21U",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail3039.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_yQuVuoyTMhX21d",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1136.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5zbquVuoyTMhX20C",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail166.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5zfsuVuoyTMhX20E",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail2767.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt59jQuVuoyTMhX20p",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail2852.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_PpuVuoyTMhX21J",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1392.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt58YguVuoyTMhX20N",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail603.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_38uVuoyTMhX21h",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail416.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-JFuVuoyTMhX20y",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail896.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt6B1NuVuoyTMhX22i",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail846.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt6B3vuVuoyTMhX22k",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1214.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt6B90uVuoyTMhX22o",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1536.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt6COkuVuoyTMhX22y",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail246.png"
}
}]
}
}
然而,当我运行这样的查询时,它什么都不返回:
curl -X POST http://localhost:9200/geotiff_test/geometa/_search -d '{
"query": {
"term": {
"thumbnail": "thumbnail1536.png"
}
}
}'
结果如下:
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}
如果这是Solr,我想要做的就是运行这个简单的查询:thumbnail:"thumbnail1536.png"
有人可以告诉我这里出了什么问题吗?
答案 0 :(得分:2)
确切术语不匹配,因为您的文档字段thumbnail
已使用standard
分析器进行分析,并将其存储为thumbnail1536
和png
。
在Elasticsearch中,text
(全文)和keyword
(完全期限)有不同的查询。你写的那个属于后一类。
如果您运行以下full-text
查询,您将获得所需的结果:
curl -X POST http://localhost:9200/geotiff_test/geometa/_search -d '{
"query": {
"match": {
"thumbnail": "thumbnail1536.png"
}
}
}'
但是,当您尝试使用exact-term
搜索term
时,首选查询。
curl -X POST http://localhost:9200/geotiff_test/geometa/_search -d '{
"query": {
"term": {
"thumbnail.keyword": "thumbnail1536.png"
}
}
}'
注意:此处.keyword
是keyword
字段的thumbnail
版本。
虽然两者都产生相同的结果,但上述查询比前一种更有效。
答案 1 :(得分:0)
这取决于您的字段的映射/输入方式。请参阅弹性搜索网站上的link。
请注意,您可以更改映射以更好地满足您的需求。