ES在查询中发现无法匹配的字段类型

2023-12-19 09:15:23,059 [ERROR] [http-nio-8301-exec-1] [hbaseReader-1077] e.b.es.service.impl.EsQueryImpl - matchQuery error:
org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]
        at org.elasticsearch.rest.BytesRestResponse.errorFromXContent(BytesRestResponse.java:177)
        at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:1406)
        at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1382)
        at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1269)
        at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1231)
        at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:730)
        at exsun.bigdata.es.service.impl.EsQueryImpl.geoPolygonWithDateQuery(EsQueryImpl.java:113)
        at exsun.bigdata.es.service.impl.EsQueryImpl$$FastClassBySpringCGLIB$$569d606c.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)

A.检查一下ES的版本跟代码是否匹配(一般是ok的)

B.检查一下ES中的索引和配置文件的名称是否一致;

C.检查是否导入索引类型

ES导入脚本如下:

PUT /1077_dvo_gps_data_relation_online
{
  "settings": {
    	"number_of_shards": 1,
    	"number_of_replicas": 1
    },
    "mappings": {
      "_doc": {
        "properties": {
		      "lat": {"type": "float"},
          "lng": {"type": "float"},
          "lngAndLat": {"type": "geo_point"},
          "hgt": {"type": "integer"},
          "spd": {"type": "integer"},
          "dre": {"type": "integer"},
          "gte": {"type": "long"},
          "gdt": {"type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"},
          "mie": {"type": "integer"},
          "kilometer":{"type": "float"},
          "poi": {"type": "object"},
          "alm": {"type": "text"},
          "amm": {"type": "long"},
          "sts": {"type": "text"},
          "stm": {"type": "long"},
          "pop": {"type": "object"},
          "adl": {"type": "object"},
          "cnt": {"type": "integer"},
          "ons": {"type": "integer"},
          "mid": {"type": "integer"},
          "dvo": {"type": "keyword"},
          "pte": {"type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"},
          "tpc": {"type": "text"},
          "vehicleName": {"type": "text"},
          "vehicleId": {"type": "keyword"},
          "numberPlate": {"type": "text","fields": {"keyword":{"type":"keyword","ignore_above": 256}}},
          "companyId": {"type": "long"},
          "companyName": {"type": "text"},
          "driverInfo":{"type": "object"},
          "vehicleType":{"type": "integer"},
          "dayKMeter":{"type": "float"},
          "bindName":{"type":"text"},
          "objType":{"type":"integer"},
          "adress":{"type":"text"},
          "lastTime_lngAndLat": {"type": "geo_point"},
          "lastTime_gte": {"type": "long"},
          "lastTime_gdt": {"type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}
        }
      }
    }
}

导入方式:

先进入ambari平台,点击'++++Kibana++++'->'[++++Kibana UI++++](#Kibana UI)'

点击'Management'->'Index management'进入到查询页面

如果发现缺少index或者缺少index对应的类型,可以选择先删除索引

再从'Dev Tools'工具中执行上面的index的脚本。

相关推荐
YONG823_API2 小时前
电商平台数据批量获取自动抓取的实现方法分享(API)
java·大数据·开发语言·数据库·爬虫·网络爬虫
Data 3175 小时前
Hive数仓操作(十)
大数据·数据库·数据仓库·hive·hadoop
ON.LIN5 小时前
Hadoop大数据入门——Hive-SQL语法大全
大数据·数据库·hive·hadoop·分布式·sql
Elastic 中国社区官方博客5 小时前
Elasticsearch 开放推理 API 增加了对 Google AI Studio 的支持
大数据·数据库·人工智能·elasticsearch·搜索引擎
cndes5 小时前
大数据算法的思维
大数据·算法·支持向量机
青云交6 小时前
大数据新视界 --大数据大厂之 Kafka 性能优化的进阶之道:应对海量数据的高效传输
大数据·数据库·人工智能·性能优化·kafka·数据压缩·分区策略·磁盘 i/o
alfiy7 小时前
Elasticsearch学习笔记(六)使用集群令牌将新加点加入集群
笔记·学习·elasticsearch
帅气的人1237 小时前
使用 docker-compose 启动 es 集群 + kibana
elasticsearch·docker
漫无目的行走的月亮8 小时前
比较Elasticsearch和Hadoop
hadoop·elasticsearch
奔跑吧邓邓子14 小时前
大数据利器Hadoop:从基础到实战,一篇文章掌握大数据处理精髓!
大数据·hadoop·分布式