Elasticsearch
1、安装java;
2、安装Elasticsearch ,启动命令:
linux:./bin/elasticsearch
windows:./bin/elasticsearch.bat
作为守护进程后台运行,后面加参数 -d
3、访问测试:curl 'http://localhost:9200/?pretty' (windows下面执行命令出错,把单引号去掉或改为双引号即可)
4、elasticsearch请求格式:
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'
被 < >
标记的部件:
|
适当的 HTTP 方法 或 谓词 : |
|
|
|
Elasticsearch 集群中任意节点的主机名,或者用 |
|
运行 Elasticsearch HTTP 服务的端口号,默认是 |
|
API 的终端路径(例如 |
|
任意可选的查询字符串参数 (例如 |
|
一个 JSON 格式的请求体 (如果请求需要的话) |
5、插入数据:
PUT /megacorp/employee/1 { "first_name" : "John", "last_name" : "Smith", "age" : 25, "about" : "I love to go rock climbing", "interests": [ "sports", "music" ] }
megacorp
索引名称 employee
类型名称 1
特定雇员的ID
6、读取数据:
GET /megacorp/employee/1
7、轻量搜索:
GET /megacorp/employee/_search
GET /megacorp/employee/_search?q=last_name:Smith
默认返回10条数据。
8、查询表达式:
GET /megacorp/employee/_search { "query" : { "match" : { "last_name" : "Smith" } } }
全文搜索:
GET /megacorp/employee/_search
{ "query" : { "match" : { "about" : "rock climbing" } } }
短语搜索:
GET /megacorp/employee/_search { "query" : { "match_phrase" : { "about" : "rock climbing" } } }
高亮搜索:
GET /megacorp/employee/_search { "query" : { "match_phrase" : { "about" : "rock climbing" } }, "highlight": { "fields" : { "about" : {} } } }
当执行该查询时,返回结果与之前一样,与此同时结果中还多了一个叫做highlight
的部分。这个部分包含了about
属性匹配的文本片段,并以 HTML 标签<em></em>
封装