ElasticSearch最佳入門實踐(三十六)query string search 語法以及 _all metadata 原理揭祕
阿新 • • 發佈:2018-11-07
1、query string基礎語法
GET /test_index/test_type/_search?q=test_field:test
GET /test_index/test_type/_search?q=+test_field:test
GET /test_index/test_type/_search?q=-test_field:test
一個是掌握q=field:search content的語法,還有一個是掌握+和-的含義
‘ + ’ 必須包含
‘ - ’ 必須不包含
2、_all metadata的原理和作用
直接可以搜尋所有的field,任意一個field包含指定的關鍵字就可以搜尋出來。我們在進行中搜索的時候,難道是對document中的每一個field都進行一次搜尋嗎?不是的
es中的_all元資料,在建立索引的時候,我們插入一條document,它裡面包含了多個field,此時,es會自動將多個field的值,全部用字串的方式串聯起來,變成一個長的字串,作為_all field的值,同時建立索引
後面如果在搜尋的時候,沒有對某個field指定搜尋,就預設搜尋_all field,其中是包含了所有field的值的
舉個例子
{
"name": "jack",
"age": 26,
"email": "[email protected]",
"address": "guamgzhou"
}
“jack 26 [email protected] guangzhou”,作為這一條document的_all field的值,同時進行分詞後建立對應的倒排索引。生產環境不使用