es中的term和match的區別

2022-01-15 09:10:40 字數 1213 閱讀 2956

term

}}

,  "

hits": },}

]}}

love china

}}

terms

}}

,  "

hits": },}

]}}

[ ]

},}

]}

}}

可以看到,我們上面使用china是小寫的。當使用的是大寫的china我們進行搜尋的時候,發現搜不到任何資訊。這是為什麼了?title這個詞在進行儲存的時候,進行了分詞處理。我們這裡使用的是預設的分詞處理器進行了分詞處理。我們可以看看如何進行分詞處理的?

get test/_analyze

,

]}

lovechinatermchina

love china

get test/doc/_search

}}

,  "

hits": },}

]}}

發現兩個都查出來了,為什麼?因為match進行搜尋的時候,會先進行分詞拆分,拆完後,再來匹配,上面兩個內容,他們title的詞條為:love china hubei,我們搜尋的為love china我們進行分詞處理得到為love china,並且屬於或的關係,只要任何乙個詞條在裡面就能匹配到。如果想lovechina同時匹配到的話,怎麼做?使用match_phrase

match_phrase

get test/doc/_search

}}

,  "

hits": }]

}}

ES搜尋 term與match區別 bool查詢

1 ik max word 會將文字做最細粒度的拆分,比如會將 中華人民共和國人民大會堂 拆分為 中華人民共和國 中華人民 中華 華人 人民共和國 人民 共和國 大會堂 大會 會堂等詞語。2 ik smart 會做最粗粒度的拆分,比如會將 中華人民共和國人民大會堂 拆分為中華人民共和國 人民大會堂。...

ES筆記七 filter和match的區別

filter與query對比大解密 filter,僅僅只是按照搜尋條件過濾出需要的資料而已,不計算任何相關度分數,對相關度沒有任何影響 query,會去計算每個document相對於搜尋條件的相關度,並按照相關度進行排序 一般來說,如果你是在進行搜尋,需要將最匹配搜尋條件的資料先返回,那麼用quer...

python中的match和search的區別

match string pos endpos re.match pattern,string flags search string pos endpos re.search pattern,string flags match 從指定的位置匹配到結尾,必須開頭一模一樣的對應,search 也是在...