上一篇:SpringBoot如何实现Solr? | 带你读《SpringBoot实战教程》之三十八
下一篇:SpringBoot如何整合ElasticSearch? | 带你读《SpringBoot实战教程》之四十
本文来自于千锋教育在阿里云开发者社区学习中心上线课程《SpringBoot实战教程》,主讲人杨红艳,点击查看视频内容。
ElasticSearch概述及安装
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
安装
1.首先安装好jdk.
2.从Elastic的官网下载ES的安装包
https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.4/elasticsearch-2.4.4.tar.gz
3.解压到/usr/local下
tar -xzvf elasticsearch-2.4.4.tar.gz -C /usr/local
4.编辑配置文件:/config/elasticsearch.yml
bootstrap.memory_lock: true
index.cache.field.max_size: 50000
index.cache.field.expire: 30m
index.cache.field.type: soft
network.host: 192.168.*.25,10.29.*.58,127.0.0.1
action.disable_delete_all_indices : true
5.启动:启动时不要使用root用户,会报错java.lang.RuntimeException: don't run elasticsearch as root
使用普通用户启动会显示权限不够,解决办法:
将ElasticSearch的安装目录及其子目录改为另外一个非root账户,如:
sudo chown -R linux elasticsearch-2.4.4
sudo chgrp -R linux elasticsearch-2.4.4
使用浏览器进行访问:
出现上述json格式,证明可以正常使用了。
Elasticsearch实现数据的存储和检索
在Elasticsearch中,所有的数据,都以文档的形式存储,每个文档都有定义好的索引和类型。每个文档可以包含一个或多个字段来保存数据。
我们借助sence来实现存储检索。
在sence中,输入如下的curl请求代码:
curl -XPUT '192.168.25.129:9200/userindex/user/3?pretty' -d'
{
"first_name" : "Douglas",
"last_name" : "Fir",
"age" : 23,
"about": "I like to build cabinets",
"interests": [ "forestry" ]
}'
结果:
从Elasticsearch中检索文档:
在sence中,输入如下的curl请求代码:
curl -XGET "http://192.168.25.129:9200/userindex/user/1"
原输入的信息:
检索到的文档:
搜索所有用户:
curl -XGET "http://192.168.25.129:9200/userindex/user/_search"
执行结果:
查询某个符合条件的:
curl -XGET "http://192.168.25.129:9200/userindex/user/_search?q=age:32"
执行结果: