我正在做 1 - INDEXING,2 - SEARCHING,3-DELETING 的3个连续步骤。 我的映射:
PUT _template/discoveryes
{
"template" : "discoveryes-*",
"settings" : {
"number_of_shards" : 3,
"number_of_replicas" : 0,
"index": {
"analysis": {
"filter": {
"en_stop_filter": {
"type": "stop",
"stopwords": ["_english_"]
} , "en_stem_filter": {
"type": "stemmer",
"name": "english"
}
},
"analyzer": {
"en_analyzer": {
"type": "custom",
"filter": ["icu_normalizer", "en_stop_filter", "en_stem_filter", "icu_folding"],
"tokenizer": "icu_tokenizer"
},
"default": {
"type": "custom",
"filter": ["icu_normalizer", "icu_folding"],
"tokenizer": "icu_tokenizer"
}
}
}
}
},
"mappings" : {
"discoveryes": {
"_source" : {
"enabled" : "true"
},
"properties" : {
"witID" : {
"type" : "string",
"index" :"not_analyzed"
},
"text" : {
"type" : "string",
"analyzer" : "en_analyzer"
},
"docID":{
"type":"string",
"index" :"not_analyzed"
}
}
}
}
}
在我的第一次操作中,我得到了正确的结果(意味着我正在索引少量文档并搜索一些关键字,这些关键字给出了正确的结果,然后删除了所有索引的ID)。
但是当我尝试为相同的文档再次执行相同的操作时,我得不到相同的结果。
当我评论删除操作并执行操作时,我每次都会得到正确的结果,但是当我包含DELETE操作时会出现问题。 我正在使用Java进行所有这些操作。
搜索操作代码:
SearchRequestBuilder searchBuilder = client
.prepareSearch()
.setIndices("discoveryes-1")
.setTypes("discoveryes").setQuery(qb)
.setSize(100);
DELETE操作代码:
DeleteResponse rsp = client.prepareDelete().setIndex("discoveryes-1").setType("discoveryes")
.setId(witID)
.execute()
.actionGet();
在上面的代码行中,witID是我要删除的索引ID。
我可以得到一些帮助吗? 感谢