Количество Elasticsearch меньше, чем индексируется при использовании asticsearch-hadoop-2.2
Я создал индекс и внес в него данные, используя эластичный поиск-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 элемент. Однако в эластичном поиске есть только 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 и это также _id в my_index/my_type. Все 1332561 возвращаются "found":true
,
Я сбит с толку.
- Сколько документов в my_index / my_type на самом деле?
- Зачем
_count
а такжеsearch_type=count
API вернуть 1332559, если есть 1332561? - Какие документы отсутствуют, если есть 1332559 документов?
Какие-либо предложения?