elasticsearch部署使用
部署
xxxxxxxxxx
#添加仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#docker 安装
yum install docker-ce docker-ce-cli containerd.io
#docker 启动
systemctl restart docker
#docker 拉取elasticsearch镜像
docker pull elasticsearch:7.0.0
#进入容器
docker run -p 9200:9200 -i -t elasticsearch:7.0.0 /bin/bash
#安装中文分词
bin/elasticsearch-plugin install analysis-smartcn
#停止容器
docker stop 9ee20833de8e
#启动容器
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.0.0
访问 http://localhost:9200/ 有数据返回,便部署成功
xxxxxxxxxx
{
"name" : "EXd9KSw",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "1Gezj8LTSfaOxQbsPIzSkw",
"version" : {
"number" : "5.6.12",
"build_hash" : "cfe3d9f",
"build_date" : "2018-09-10T20:12:43.732Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}
curl 测试
xxxxxxxxxx
curl -X PUT 'http://192.168.5.94:9200/hello'
xxxxxxxxxx
{"acknowledged":true,"shards_acknowledged":true,"index":"hello"}
接入
xxxxxxxxxx
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.6.1</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.6.1</version>
</dependency>
example
xxxxxxxxxx
private static RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(
new HttpHost("192.168.5.94", 9200, "http")));
public void index() throws IOException {
IndexRequest indexRequest=new IndexRequest("posts");
indexRequest.index("1");
Map<String,Object>source=new HashMap<>();
source.put("name","张三");
indexRequest.source(source);
try {
IndexResponse response=client.index(indexRequest,RequestOptions.DEFAULT);
String id = response.getId();
System.out.println(id);
} catch(ElasticsearchException e) {
e.printStackTrace();
}
}
public void search() throws IOException {
SearchRequest searchRequest = new SearchRequest("1");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
SearchSourceBuilder query = searchSourceBuilder.query(QueryBuilders.matchAllQuery());
searchRequest.source(searchSourceBuilder);
SearchResponse search = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHits hits = search.getHits();
for (SearchHit hit : hits) {
System.out.println(hit.getIndex());
System.out.println(hit.getId());
}
}
api参考
https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.6/java-rest-high-search.html

浙公网安备 33010602011771号