使用elasticsearch-hadoop-2.2时,弹性搜索计数小于索引

时间:2016-05-24 06:54:27

标签: elasticsearch elasticsearch-hadoop

我使用elasticsearch-hadoop-2.2创建了一个索引和索引数据。 HQL看起来像这样:

CREATE EXTERNAL TABLE es_external_table (
field1 type1,
field2 type2
  ) STORED BY 'org.elasticsearch.hadoop.hive.EsStorageHandler' TBLPROPERTIES (
'es.batch.size.bytes'='1mb',
'es.batch.size.entries'='0',
'es.batch.write.refresh'='false',
'es.batch.write.retry.count'='3',
'es.mapping.id'='field1',
'es.write.operation'='index',
'es.nodes'='IP:9200',
'es.nodes.discovery'='false',
'es.resource'='my_index/my_type');

insert into table es_external_table select field1, field2... from hive_table1

表es_external_table是外部表,hive_table1是源表。我发现hive_table1中有1332561个项目。但是,elasticsearch中只有1332559个文档。 _count API和_search?search_type=count API均返回1332559.缺少两个文档。

我使用curl -XGET 'http://IP:9200/my_index/my_type/my_id?_source=false检查Elasticsearch中的数据。 my_id来自hive_table1,它也是my_index / my_type中的_id。所有1332561都返回"found":true

我很困惑。

  1. my_index / my_type中有多少个文件?
  2. 如果有1332561,为什么_countsearch_type=count API会返回1332559?
  3. 如果有1332559个文档,哪些文档会丢失?
  4. 有什么建议吗?

0 个答案:

没有答案