elasticsearch 2.3.4 java API 连接,ik分词器,设置集群节点,创建index,mapping的几种方式

本文主要是介绍elasticsearch 2.3.4 java API 连接,ik分词器,设置集群节点,创建index,mapping的几种方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、默认集群连接

Client client = TransportClient.builder().build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));


2、自定义集群连接

Settings settings = Settings.settingsBuilder().put("cluster.name", "cluster-lhy").build();Client client = TransportClient.builder().settings(settings).build().addTransportAddress(new   InetSocketTransportAddress(InetAddress.getByName("localhost"),   9300));


3、index创建

 client.admin().indices().prepareCreate("phone12").get();


4、mapping创建

有四种方式,只提倡前两种(json字符串格式和XContentBuilder),都是一个方法,不同类型参数

	Client client = TransportClient.builder().build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));new XContentFactory();XContentBuilder builder=XContentFactory.jsonBuilder().startObject()//注意不要加index和type.startObject("properties").startObject("id1").field("type", "integer").field("store", "yes").endObject().startObject("kw1").field("type", "string").field("store", "yes").field("analyzer", "ik").endObject().startObject("edate33").field("type", "date").field("store", "yes").endObject().endObject().endObject();/*** 创建并添加方式1*//*  client.admin().indices().prepareCreate("twitter1") .addMapping("tweet", "{\n" +                "    \"tweet\": {\n" +"      \"properties\": {\n" +"        \"message1\": {\n" +"          \"type\": \"string\",\n" +"             \"indexAnalyzer\": \"ik\"\n"+		"        }\n" +"      }\n" +"    }\n" +"  }").get();*//*** 创建并添加方式2*///client.admin().indices().prepareCreate("phone1").addMapping("jingdong", builder).get();   /*** 修改type中属性 方式1*//*     client.admin().indices().preparePutMapping(new String[]{"phone"})   .setType("jingdong")                                .setSource("{\n" +                              "  \"properties\": {\n" +"    \"nameaaa\": {\n" +"      \"type\": \"string\"\n" +"    }\n" +"  }\n" +"}").get();*//*** 修改type中属性 方式2*//*client.admin().indices().preparePutMapping(new String[]{"phone"})   .setType("jingdong").setSource(builder).get();*//*** 方式3不推荐*//* Map map=new HashMap();Map map2=new HashMap();map2.put("type", "string");Map map3=new HashMap();map.put("ooooooooo",map2);map3.put("properties", map);client.admin().indices().preparePutMapping(new String[]{"phone"})   .setType("jingdong").setSource(map3).get();client.close();*/


5、2.3.4版本elasticsearch的ik分词器配置注意

 不需要再在elasticsearch配置文件elasticsearch.yml中配置

1.从https://github.com/medcl/elasticsearch-analysis-ik下载elasticsearch-analysis-ik-master.zip

2.解压elasticsearch-analysis-ik-master.zip

   unzip elasticsearch-analysis-ik-master.zip

3.进入elasticsearch-analysis-ik-master,编译源码

  cd  elasticsearch-analysis-ik-master

  mvn clean package

  编译后会放在 elasticsearch-analysis-ik-master/target/releases目录下


4.在$ES_HOME/plugins文件夹下创建ik

    mkdir ik

5、找到将编译后生成的elasticsearch-analysis-ik-1.9.4.zip解压到$ES_HOME/plugins/ik下


测试分词器curl -XPOST  "http://localhost:9200/索引/_analyze?analyzer=ik&pretty=true&text=我是中国人" 



这篇关于elasticsearch 2.3.4 java API 连接,ik分词器,设置集群节点,创建index,mapping的几种方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140420

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

mtu设置多少网速最快? 路由器MTU设置最佳网速的技巧

《mtu设置多少网速最快?路由器MTU设置最佳网速的技巧》mtu设置多少网速最快?想要通过设置路由器mtu获得最佳网速,该怎么设置呢?下面我们就来看看路由器MTU设置最佳网速的技巧... 答:1500 MTU值指的是在网络传输中数据包的最大值,合理的设置MTU 值可以让网络更快!mtu设置可以优化不同的网

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.