我执行以下查询,一个返回结果,另一个没有。
GET /history_asset/_search
{
"query": {
"term": {
"for_rent": false
}
}
}
和
GET /asset/_search
{
"query": {
"term": {
"for_rent": false
}
}
}
history_asset 索引未返回结果但资产索引返回7000个结果。
两个索引都包含字段 for_rent = false 。
的文档资产索引中的文档示例:
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 7418,
"max_score": 0.5322018,
"hits": [
{
"_index": "asset",
"_type": "marketplace",
"_id": "4279385234798",
"_score": 0.5322018,
"_source": {
"display_address": "262 Woodlawn Ave, Jersey City, NJ",
"city": "Jersey City",
"for_rent": false,
....
来自 history_asset 索引的示例文档:
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 7748,
"max_score": 1,
"hits": [
{
"_index": "history_asset",
"_type": "marketplace",
"_id": "589240302345",
"_score": 1,
"_source": {
"for_rent": false,
.....
我不明白这是怎么发生的。哈哈,我正在失去理智。
我正在运行Elasticsearch版本 5.6 。
我也检查过以确保两个索引的映射是相同的:
{
"history_asset": {
"mappings": {
"marketplace": {
"dynamic": "false",
"properties": {
"for_rent": {
"type": "boolean"
},
.....
和资产索引:
{
"asset": {
"mappings": {
"marketplace": {
"properties": {
"for_rent": {
"type": "boolean"
},
......
如您所见,唯一的区别是其中一个索引启用了 dynamic = false ,因为我想控制它的映射。
在 Kibana 中运行的原始查询中,对于 history_asset ,如何在资产中返回任何内容索引结果返回?
答案 0 :(得分:0)
因此经过大量调试后发现这是Elasticsearch中的一些内部错误。重新启动服务并不起作用,但在更新Elasticsearch和底层Java版本后,查询将返回结果。
如果您遇到这种情况,请务必:
希望它也会对你有帮助:)。
我在Elasticsearch版本上遇到了错误: 5.6.3