elasticsearch 在使用Transport Client创建索引时,如何将字段的分析指定为未分析,elasticsearch,elasticsearch" /> elasticsearch 在使用Transport Client创建索引时,如何将字段的分析指定为未分析,elasticsearch,elasticsearch" />

elasticsearch 在使用Transport Client创建索引时,如何将字段的分析指定为未分析

elasticsearch 在使用Transport Client创建索引时,如何将字段的分析指定为未分析,elasticsearch,elasticsearch,我使用的是elasticsearch-6.1.1。由于JavaHighLeve客户端未提供CreateIndexRequest api-6.1.1,因此我尝试使用TransportClient创建索引,如下所示:() 代码是: public class IndexOperations { RestHighLevelClient client ; public IndexOperations(RestHighLevelClient client){ this.cl

我使用的是elasticsearch-6.1.1。由于JavaHighLeve客户端未提供CreateIndexRequest api-6.1.1,因此我尝试使用TransportClient创建索引,如下所示:() 代码是:

public class IndexOperations {

    RestHighLevelClient client ;
    public IndexOperations(RestHighLevelClient client){
        this.client = client ; 
    }

    public void indexOperations()throws UnknownHostException,IOException  {

        TransportClient transportClient = new PreBuiltTransportClient(Settings.EMPTY)
                .addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"),9300));


        String mapping = XContentFactory.jsonBuilder()
                        .startObject()
                            .startObject("delllogfiles")
                                .startObject("properties")

                                    .startObject("message")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("logid")
                                        .field("type","long")
                                    .endObject()

                                    .startObject("version")
                                        .field("type","long")
                                    .endObject()

                                    .startObject("qualifiers")
                                        .field("type","text")
                                    .endObject()

                                    .startObject("level")
                                        .field("type","long")
                                    .endObject()

                                    .startObject("task")
                                        .field("type","long")
                                    .endObject()

                                    .startObject("opcode")
                                        .field("type","long")
                                    .endObject()

                                    .startObject("keywords")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("recordid")
                                        .field("type","long")
                                    .endObject()

                                    .startObject("providername")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("providerid")
                                        .field("type","long")
                                    .endObject()

                                    .startObject("logname")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("processid")
                                        .field("type","long")
                                    .endObject()

                                    .startObject("threadid")
                                        .field("type","long")
                                    .endObject()

                                    .startObject("machinename")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("userid")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("timecreated")
                                        .field("type","date")
                                    .endObject()

                                    .startObject("activityid")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("relatedactivityid")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("containerlog")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("matchedqueryids")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("bookmark")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("levldispalyname")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("opcodedisplayname")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("taskdisplayname")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("keywordsdisplayname")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                    .startObject("properties")
                                        .field("type","text")
                                        .field("index","not_analyzed")
                                    .endObject()

                                .endObject()
                            .endObject()
                        .endObject()
                        .string(); 


        CreateIndexResponse createIndexResponse = transportClient.admin().indices()
                                                    .prepareCreate("logfiles")
                                                    .addMapping("delllogfiles",mapping,XContentType.JSON)
                                                    .get();

        System.out.println("finally index created "+createIndexResponse.isAcknowledged());
        transportClient.close();
当运行代码时,我得到一个异常:

Exception in thread "main" MapperParsingException[Failed to parse mapping [delllogfiless]: Could not convert [message.index] to boolean]; nested: IllegalArgumentException[Could not convert [message.index] to boolean]; nested: IllegalArgumentException[Failed to parse value [not_analyzed] as only [true] or [false] are allowed.];

使用TransportClient时,如何将字段的分析程序设置为未分析?

来自弹性搜索5索引属性只有两个选项

  • 真的
  • 假的
对于未分析的字符串字段,请使用字段类型关键字,而不是默认未分析的文本

这是它的链接。

很高兴这有帮助!