首頁>技術>

介紹

介紹

我們在使用elastic search進行搜尋的時候,會需要對搜尋結果進行調整,以達到最佳效果

今天就跟著福哥來了解一下ES的匹配模式的知識吧

教程

match(全文匹配)

這種方式就是根據預設規則進行匹配,並根據預設權重進行排序的

{  "from": 0,  "size": 10,  "query": {    "bool": {      "must": {        "match": {          "userName": "福哥"        }      }    }  }}

minimum_should_match(匹配度匹配)

分詞個數匹配度

設定最小匹配度為1,表示只要有一個分詞命中就匹配出來

如果匹配度數字設定過大,會出現大量查詢不到結果的情況

{  "from": 0,  "size": 10,  "query": {    "bool": {      "must": {        "match": {          "userName": {            "query":"福哥",            "minimum_should_match": 1          }        }      }    }  }}

百分比匹配度

設定最小匹配度為50%,表示只要有一半的分詞命中就匹配出來

如果匹配百分比設定接近100%,會出現大量查詢不到結果的情況

{  "from": 0,  "size": 10,  "query": {    "bool": {      "must": {        "match": {          "userName": {            "query":"福哥",            "minimum_should_match": "50%"          }        }      }    }  }}

組合匹配度

設定組合匹配度3<80%,這個有點複雜,分兩種情況

如果不高於下限(3)則下限(3)和上限(80%)都要判斷

如果高於下限(3)則只有上限(80%)會被判斷

{  "from": 0,  "size": 10,  "query": {    "bool": {      "must": {        "match": {          "userName": {            "query":"福哥",            "minimum_should_match": "3<80%"          }        }      }    }  }}

match_phrase(精確匹配)

這種方式就是需要查詢字串完全在目標字串當中才行,類似SQL的(like '%福哥%')意思

https://m.tongfu.net/home/35/blog/512639.html

11
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 任務排程框架Quartz快速入門