ElasticSearch系列2
1.使用ElasticSearch程式設計操作
過程:1.建立Setting物件,相當於是一個配置資訊,主要配置叢集的名稱
2.建立一個客戶端Client物件
3.使用client物件建立一個索引庫
4.關閉client物件
pom.xml
<dependencies>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>5.6.8</version>
<dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.6.8</version>
<dependency>
<dependencies>
編碼:
1.建立Setting物件,相當於是一個配置資訊,主要配置叢集的名稱
Settings settings = Setting.builder()
.put("cluster.name","my-elasticsearch")
.bulid();
2.建立一個客戶端Client物件
TransportClient client = new PreBuiltTransportClient(settings);
client.addTransportAddress(new InetSocketportAddress(InetAddress.getName("127.0.0.1"),9301));
client.addTransportAddress(new InetSocketportAddress(InetAddress.getName("127.0.0.1"),9302));
client.addTransportAddress(new InetSocketportAddress(InetAddress.getName("127.0.0.1"),9303));
3.使用client物件建立一個索引庫
#index_hello索引庫名稱
client.admin().indices().prepareCreate("index_hello")
.get();#執行操作
4.關閉client物件
client.close();
使用java客戶端設定mapping:
1.建立Setting物件,相當於是一個配置資訊,主要配置叢集的名稱
Settings settings = Setting.builder()
.put("cluster.name","my-elasticsearch")
.bulid();
2.建立一個客戶端Client物件
TransportClient client = new PreBuiltTransportClient(settings)
.addTransportAddress(new InetSocketportAddress(InetAddress.getName("127.0.0.1"),9301))
.addTransportAddress(new InetSocketportAddress(InetAddress.getName("127.0.0.1"),9302));
.addTransportAddress(new InetSocketportAddress(InetAddress.getName("127.0.0.1"),9303));
3.建立一個mapping資訊,應該是一個json資料,可以是字串,也可以是XContextBuilder物件
XContentBuilder builder = XContentFactory.jsonBuilder()
.startObject()
.startObject("article")#索引名
.startObject("properties")#屬性
.startObject("id")#型別
.field("type","long")#欄位
.field("store",true)
.endObject()
.startObject("title")#型別
.field("type","text")#欄位
.field("store",true)
.field("analyzer","ik_smart")
.endObject()
.startObject("content")#型別
.field("type","text")#欄位
.field("store",true)
.field("analyzer","ik_smart")
.endObject()
.endObject()
.endObject()
.endObject();
4.使用client向es伺服器傳送mappping資訊
clinet.admin().indices()
.prepareMapping("index_hello")#設定對映的索引
.setType("article")#設定對映的type
.setSource(builder)#mapping資訊。可以是XContentBuilder也可以是json字串
.get();#執行操作
5.關閉client物件
client.close();
新增文件:
1.建立Setting物件,相當於是一個配置資訊,主要配置叢集的名稱
Settings settings = Setting.builder()
.put("cluster.name","my-elasticsearch")
.bulid();
2.建立一個客戶端Client物件
TransportClient client = new PreBuiltTransportClient(settings);
client.addTransportAddress(new InetSocketportAddress(InetAddress.getName("127.0.0.1"),9301));
client.addTransportAddress(new InetSocketportAddress(InetAddress.getName("127.0.0.1"),9302));
client.addTransportAddress(new InetSocketportAddress(InetAddress.getName("127.0.0.1"),9303));
3.建立一個文件物件,建立一個json格式的字串,或者使用XContentBuilder
XContentBuilder builder = XContentFactory.jsonBuilder
.startObject()
.field("id",1)
.field("title","aaaa")
.field("content","bbbb")
.endObject();
4.使用Client物件把文件新增到索引庫中
client.prepareIndex("index_hello","article","1").setSource(builder).get();
或者這麼寫也可以
client.prepareIndex()
//設定索引名稱
setIndex("index_hello")
//設定type
.setType("article")
//設定文件的id,如果不設定的話自動的生成一個id
.setId("1")
//設定文件資訊
.setSource(builder)
.get()
5.關閉client物件
client.close();
相關文章
- Elasticsearch使用系列-Docker搭建Elasticsearch叢集ElasticsearchDocker
- ElasticSearch中介軟體系列--elasticsearch-sqlElasticsearchSQL
- Elasticsearch使用系列-.NET6對接ElasticsearchElasticsearch
- ElasticSearch系列--父子關係Elasticsearch
- 【Elasticsearch系列之一】windows下Elasticsearch的安裝ElasticsearchWindows
- elasticsearch相關2Elasticsearch
- Elasticsearch 系列(五)- 資料聚合Elasticsearch
- Elasticsearch系列---聚合查詢(一)Elasticsearch
- Elasticsearch系列---聚合查詢原理Elasticsearch
- ElasticSearch實戰系列十: ElasticSearch冷熱分離架構Elasticsearch架構
- (2)Elasticsearch基本操作整理Elasticsearch
- Elasticsearch系列---幾個高階功能Elasticsearch
- Elasticsearch系列---實現分散式鎖Elasticsearch分散式
- ElasticSearch實戰系列十一: ElasticSearch錯誤問題解決方案Elasticsearch
- Elasticsearch系列---生產叢集部署(下)Elasticsearch
- Elasticsearch系列---生產叢集部署(上)Elasticsearch
- Elasticsearch學習系列二(基礎操作)Elasticsearch
- 搜尋引擎ElasticSearch18_ElasticSearch的客戶端操作2Elasticsearch客戶端
- Elasticsearch 7.x:2、索引管理Elasticsearch索引
- Elasticsearch系列---生產叢集的索引管理Elasticsearch索引
- ES系列教程01:Elasticsearch學習環境搭建Elasticsearch
- Elasticsearch使用系列-ES簡介和環境搭建Elasticsearch
- Elasticsearch學習系列三(搜尋案例實戰)Elasticsearch
- 十一、.net core(.NET 6)搭建ElasticSearch(ES)系列之ElasticSearch、head-master、Kibana環境搭建Elasticsearch
- Elasticsearch系列---生產資料備份恢復方案Elasticsearch
- elasticsearch7.6.x 整合springboot2(一)ElasticsearchSpring Boot
- ElasticSearch實戰系列六: Logstash快速入門和實戰Elasticsearch
- SpringBoot系列之Elasticsearch極速入門與實際教程Spring BootElasticsearch
- Elasticsearch學習系列一(部署和配置IK分詞器)Elasticsearch分詞
- Elasticsearch搜尋調優權威指南 (2/3)Elasticsearch
- Grafana系列-統一展示-7-ElasticSearch資料來源GrafanaElasticsearch
- ElasticSearch實戰系列七: Logstash實戰使用-圖文講解Elasticsearch
- Elasticsearch使用系列-ES增刪查改基本操作+ik分詞Elasticsearch分詞
- 十四、.net core(.NET 6)搭建ElasticSearch(ES)系列之給ElasticSearch新增SQL外掛和瀏覽器外掛ElasticsearchSQL瀏覽器
- RxJava2 系列-2:背壓和FlowableRxJava
- 【Elasticsearch】Elasticsearch 索引模板Elasticsearch索引
- 採坑系列2-nginxNginx
- AFNetworking原始碼解析系列(2)原始碼