Elasticsearch基本查詢關鍵字介紹

2021-10-06 12:40:31 字數 2240 閱讀 2881

話不多說,開整

term(完全匹配)

}],

"must_not": [ ],

"should": [ ]}},

"from": 0,

"size": 10,

"sort": [ ],

"aggs":

}

range(範圍查詢)

}}

],"must_not": [ ],

"should": [ ]}},

"from": 0,

"size": 10,

"sort": [ ],

"aggs":

}

fuzzy(誤拼寫查詢)

}}

]}

}}#說明:以上例子是es允許在value內容**現差別,例如輸入505,然後查詢,504的也會被查詢到,105的也會被查詢到,總之是只要是一位內容差別的都會查詢出來,這裡是因為max_expansions這個引數做了限制,最大就允許你輸錯一位,當然也是可以調整。另外還有乙個最小誤拼寫檢查引數min_similarity

wildcard(模糊查詢)

get website/_search}],

"must_not": [ ],

"should": [ ]}},

"from": 0,

"size": 10,

"sort": [ ],

"aggs":

}

exists(排除null)

}],

"should": [}]

}},

"from": 0,

"size": 10,

"sort": [ ],

"aggs":

}凡是title欄位為null的資料將不會展示,但是title欄位為""(空字串)依舊顯示,如果要實現空字串排除,可以配合must_not使用

match(分詞查詢)

get website/_search}]

}},

"from": 0,

"size": 10,

"sort": [ ],

"aggs":

}結果 :

"hits" : ,

"max_score" : 1.2814486,

"hits" : [}]

} 這個match只會對text欄位生效,與模糊查詢有區別,例如我們輸入的是"這是",用了match關鍵字會幫我們拆成「這」跟「是」,然後因為text型別的資料,資料本身是分詞的,例如「這是乙個標題」,可能會被分詞成「這」,「是」,「乙個」,「標題」所以它們會按照分詞完畢之後的內容進行匹配。故會匹配除這是乙個標題這段內容。

match_phrase(短語匹配)

get website/_search}]

}}}

這個match_phrase 採用的是短語匹配,也就是說把傳入的內容當成是 乙個句子,去匹配內容,只有當有匹配的字段中有滿足這個句子的時候才會返回匹配內容

那這個match_phrase與match有什麼區別的

match查詢

get website/_search}]

}},

"from": 0,

"size": 10,

"sort": [ ],

"aggs":

}結果 :

"hits" : ,

"max_score" : 1.2814486,

"hits" : [}]

}match_phrase 查詢

get website/_search}]

}}}

結果 :

"hits" : ,

"max_score" : null,

"hits" : [ ]

} 由此可見,match是分詞匹配(也就是說將輸入的詞進行分詞),但match_phrase是短語匹配(將整個輸入文字進行查詢)

以上就是經常用到的關鍵字了,基本上可以滿足簡單的查詢功能

Elasticsearch 基本操作

mget elasticsearch中檢索多個文件,相對於乙個乙個的檢索,更快的方式是在乙個請求中使用multi get或者 mget api。具體應用如下 mget api引數是乙個 docs 陣列,陣列的每個節點定義乙個文件的 index type id 元資料。如果你只想檢索乙個或幾 個確定的...

elasticsearch基本操作

get search 建立索引 指定分片和副本 put lib 建立索引 put lib2 檢視索引的配置 get lib settings get lib2 settings get all settings 新增文件put方式指定id put lib user 1 新增文件,不指定id用post...

Elasticsearch 基本操作

乙個批量匯入elasticsearch 的demo 機器少的話,分片數最好是你的data節點的機器數倍數,這樣請求負載能夠均攤到每個機器上,如果機器比較多,最好保證分片數不要太多,比如最好別超過20 30個,然後根據你的資料量評估一下,盡量保證每個分片在15到20g吧 資料 vi request.j...