Es官方文件整理-1.概覽
阿新 • • 發佈:2019-02-01
一、安裝執行
1.首先需要安裝Java環境
2.下載
或官網下載www.elastic.co
3.解壓
tar -xvf elasticsearch-2.4.3.tar.gz
4.執行
Linux:./bin/elasticsearch
windows:bin\elasticsearch.bat
加上-d引數可以讓程序在後臺執行
二、與Es通訊
1.java api
Node client:加入叢集作為一個無資料節點,不儲存資料,但知道資料存放位置,可以把請求轉發到正確的節點。
Transport client:輕量級的交流方式,不加入叢集,只是轉發請求到叢集中的一個節點。
java client的主版本最好和叢集一致。
2.RESTful API with JSON over HTTP
所有語言都可以使用9200介面和ES通訊。
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
The index name
{
"query" : {
"match" : {
"last_name" : "Smith"
}
}
}
七、全文查詢 GET /megacorp/employee/_search
{ "query":{ "match":{ "about":"rock climbing" } }} 對查詢文字分詞為“rock ”和“climbing ”對about欄位查詢。返回的匹配中有_score關鍵字,它的值是計算文件的相關性值。從大到小倒排。 八、短語查詢 GET /megacorp/employee/_search
{ "query":{ "match_phrase":{ "about":"rock climbing" } }} 不對查詢文字處理,當成一個整體對about欄位查詢。 九、高亮查詢 GET /megacorp/employee/_search
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
},
"highlight": {
"fields" : {
"about" : {}
}
} } 返回中每個文件會多一個highlight項,about欄位在其中,匹配的文字都被<em></em>包裹。 十、分析資料 GET /megacorp/employee/_search
{
"aggs": {
"all_interests": {
"terms": { "field": "interests" }
}
}
}
對interests聚合。
curl -X<VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>?<QUERY_STRING>' -d '<BODY>'例項:
curl -XGET 'http://localhost:9200/_count?pretty' -d ' { "query": { "match_all": {} } } '三、索引一個檔案 PUT /megacorp/employee/1
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
megacorp
employee
The type name
1
The ID of this particular employee
四、獲取一個索引檔案
GET /megacorp/employee/1
五、查詢
GET /megacorp/employee/_search
預設返回頂端的10條資料。
加篩選條件:
GET /megacorp/employee/_search?q=last_name:Smith
六、Query DSL(
domain-specific language)
例項:
GET /megacorp/employee/_search{
"query" : {
"match" : {
"last_name" : "Smith"
}
}
}
七、全文查詢 GET
{ "query":{ "match":{ "about":"rock climbing" } }} 對查詢文字分詞為“rock ”和“climbing ”對about欄位查詢。返回的匹配中有_score關鍵字,它的值是計算文件的相關性值。從大到小倒排。 八、短語查詢 GET /megacorp/employee/_search
{ "query":{ "match_phrase":{ "about":"rock climbing" } }} 不對查詢文字處理,當成一個整體對about欄位查詢。 九、高亮查詢 GET /megacorp/employee/_search
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
},
"highlight": {
"fields" : {
"about" : {}
}
} } 返回中每個文件會多一個highlight項,about欄位在其中,匹配的文字都被<em></em>包裹。 十、分析資料 GET /megacorp/employee/_search
{
"aggs": {
"all_interests": {
"terms": { "field": "interests" }
}
}
}
對interests聚合。