最近項(xiàng)目中使用了ElasticSearch, 在使用基本的查詢功能的時(shí)候热芹,遇到些頭疼的事情,有時(shí)候數(shù)據(jù)明明存在惨撇,用term查詢就是查不到伊脓,用match才可以。有時(shí)候缺可以魁衙,差點(diǎn)就把es整成玄學(xué)了报腔。后來閱讀各種博客后,我想我明白其中的原理了剖淀。
1. term&match
- term: 精確查詢纯蛾,對(duì)查詢的值不分詞,直接進(jìn)倒排索引去匹配。
- match; 模糊查詢纵隔,對(duì)查詢的值分詞翻诉,對(duì)分詞的結(jié)果一一進(jìn)入倒排索引去匹配
2. text&keyword
- text: 在寫入時(shí),對(duì)寫入的值進(jìn)行分詞巨朦,然后一一插入到倒排索引米丘。
- keyword: 在寫入時(shí),將整個(gè)值插入到倒排索引中糊啡,不進(jìn)行分詞。
3. 實(shí)例分析
- 寫入值為 hello world,
- 查詢值為 hello world
查詢類型 | 寫入類型 | 結(jié)果 |
---|---|---|
term | text | 無 |
term | keyword | 有 |
match | text | 有 |
match | keyword | 有 |
原文地址: https://blog.csdn.net/qq_38043440/article/details/101678677