小编use*_*845的帖子

ElasticSearch索引存在不可行/可靠

我正在围绕ElasticSearch的管理客户端编写一个简单的Java包装器.为了测试它,我有一个main方法,首先检查索引是否存在(IndicesExistsRequest),如果是,则删除它(DeleteIndexRequest),并再次创建索引.见下面的代码.然而,我一直得到IndexAlreadyExistsException.

顺便说一句,我试图从命令提示符(通过简单地键入"弹性搜索")获取节点的客户端.我在nodeBuilder的流畅界面上尝试了各种方法组合,但我似乎无法得到一个.

public static void main(String[] args) {
    ElasticSearchJavaClient esjc = new ElasticSearchJavaClient("nda");
    if (esjc.indexExists()) {
        esjc.deleteIndex();
    }
    esjc.createIndex();
    URL url = SchemaCreator.class.getResource("/elasticsearch/specimen.type.json");
    String mappings = FileUtil.getContents(url);
    esjc.createType("specimen", mappings);
}

final Client esClient;
final IndicesAdminClient adminClient;
final String indexName;

public ElasticSearchJavaClient(String indexName) {
    this.indexName = indexName;
    esClient = nodeBuilder().clusterName("elasticsearch").client(true).node().client();
    adminClient = esClient.admin().indices();
}

public boolean deleteIndex() {
    logger.info("Deleting index " + indexName);
    DeleteIndexRequest request = new DeleteIndexRequest(indexName);
    try {
        DeleteIndexResponse response = adminClient.delete(request).actionGet();
        if (!response.isAcknowledged()) {
            throw new Exception("Failed to …
Run Code Online (Sandbox Code Playgroud)

java elasticsearch

12
推荐指数
4
解决办法
1万
查看次数

标签 统计

elasticsearch ×1

java ×1