1. 程式人生 > 其它 >elasticsearch 語法

elasticsearch 語法

GET /megacorp/employee/_search

megacorp:索引庫employee:型別

curl 'http://localhost:9200/?pretty'
pretty:美化結果輸出
GET /_count
{
    "query": {
        "match_all": {}
    }
}
_count:計算文件數量  query:查詢
match_all:匹配所有  
GET /megacorp/employee/_search
{
    "query" : {
        "bool": {
            "must": {
                
"match" : { "last_name" : "smith" } }, "filter": { "range" : { "age" : { "gt" : 30 } } } } } }
megacorp:索引庫  
employee:型別
query:查詢
bool:過濾器
must:所有的語句都必須(must)匹配,與AND
等價。
must_not:所有的語句都不能(must not)匹配,與NOT等價
should:至少有一個語句要匹配,與OR等價
match:匹配filed包含文字
match_phrase
filter:過濾器
range:範圍過濾器

短語搜尋

找出一個屬性中的獨立單詞是沒有問題的,但有時候想要精確匹配一系列單詞或者_短語_ 。 比如, 我們想執行這樣一個查詢,僅匹配同時包含 “rock”“climbing” ,並且二者以短語 “rock climbing” 的形式緊挨著的僱員記錄。

為此對match查詢稍作調整,使用一個叫做match_phrase的查詢:

GET /megacorp/employee/_search
{
    
"query" : { "match_phrase" : { "about" : "rock climbing" } } }