elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

Java ElasticSearch 2.0.0中搜索时不一致

Java ElasticSearch 2.0.0中搜索时不一致,java,elasticsearch,Java,elasticsearch,我正在做3个连续的步骤,如1-索引、2-搜索、3-删除。 我的映射: PUT _template/discoveryes { "template" : "discoveryes-*", "settings" : { "number_of_shards" : 3, "number_of_replicas" : 0,

我正在做3个连续的步骤,如1-索引、2-搜索、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)

但是,当我尝试对相同的文档再次执行相同的操作时,并没有得到相同的结果

当我评论删除操作并执行这些操作时,我每次都会得到正确的结果,但是当我包含删除操作时,问题就出现了。 我正在用Java做所有这些操作

搜索操作的代码:

SearchRequestBuilder searchBuilder = client
                                .prepareSearch()
                                .setIndices("discoveryes-1")
                                .setTypes("discoveryes").setQuery(qb)
                                .setSize(100);
DeleteResponse rsp = client.prepareDelete().setIndex("discoveryes-1").setType("discoveryes")
                    .setId(witID)
                    .execute()
                    .actionGet();
删除操作的代码:

SearchRequestBuilder searchBuilder = client
                                .prepareSearch()
                                .setIndices("discoveryes-1")
                                .setTypes("discoveryes").setQuery(qb)
                                .setSize(100);
DeleteResponse rsp = client.prepareDelete().setIndex("discoveryes-1").setType("discoveryes")
                    .setId(witID)
                    .execute()
                    .actionGet();
在上面的代码行中,witID是我正在删除的索引ID

在这方面我能得到一些帮助吗?
谢谢

请指定如何使用java Api?我的意思是给我们看代码。你有什么错误?我没有任何错误。我得到了不一致的结果。就像有时3个搜索结果(这是正确的)和1、2、0,这使得它不一致。使用delete api后,您的记录将明显不同,因为某些文档正在被删除。我有空索引,我索引了一些文档,搜索并删除了所有索引的文档。现在又是空索引。我在重复同样的操作,所以从技术上讲,无论什么数据被索引,都会被删除。所以这不重要。搜索结果应该是相同的。我不仅仅是在搜索文本。我也在指定ID。请指定如何使用java Api?我的意思是给我们看代码。你有什么错误?我没有任何错误。我得到了不一致的结果。就像有时3个搜索结果(这是正确的)和1、2、0,这使得它不一致。使用delete api后,您的记录将明显不同,因为某些文档正在被删除。我有空索引,我索引了一些文档,搜索并删除了所有索引的文档。现在又是空索引。我在重复同样的操作,所以从技术上讲,无论什么数据被索引,都会被删除。所以这不重要。搜索结果应该是相同的。我不仅仅是在搜索文本。我也在指定ID。