运行简单查询时,弹性搜索表现得很奇怪

时间:2018-03-26 17:04:51

标签: elasticsearch kibana elasticsearch-5

我执行以下查询,一个返回结果,另一个没有。

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 ,如何在资产中返回任何内容索引结果返回?

1 个答案:

答案 0 :(得分:0)

因此经过大量调试后发现这是Elasticsearch中的一些内部错误。重新启动服务并不起作用,但在更新Elasticsearch和底层Java版本后,查询将返回结果。

如果您遇到这种情况,请务必:

  • 更新到最新的Elasticsearch版本
  • 将Java更新为最新支持的版本
  • 重新启动Elasticsearch服务

希望它也会对你有帮助:)。

我在Elasticsearch版本上遇到了错误: 5.6.3