iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 29
0
Elastic Stack on Cloud

Hey~有聽說資安跟ELK有一腿嗎?系列 第 29

Day29 深入解析Elasticsearch Query DSL Match query Part2

Hello大家,
今天沒下雨了~
覺得棒!!
昨天大致介紹了Match query的用法,
今天來說一下他有那些可以使用的參數吧~

auto_generate_synonyms_phrase_query
這個是用來創建同義字以增加詞組的查詢結果,
如果沒有特別設定的話默認值是true,
這功能沒有特別需求的話,
預設都開著了可以不用特別設定。

就如昨天說到的,
Match query會去拆解字詞進行分析,
所以很離所當然地就會有點接近模糊查詢的概念!
因此他也有fuzziness的參數可以設定,
他就是設定我們允許他找到的最大編輯距離,
詳細的介紹可以看這邊~

max_expansions
這是要設定他最大可以擴展的數量,
比如輸入ap他可能找到相關的有applicationapple
這邊要設定的就是可以查詢到最長的字,
假如我們設定5就可以找到apple但找不到application,
預設值是50。

prefix_length
這就是在進行查詢之前,
保留一個詞前面幾個字,
相關的內容前面也有提到,
假如我今天設定3,
value設定為apple
那系統就會保留app然後進行模糊查詢,
這個預設是0。

fuzzy_transpositions
這就可以設定要不要讓相鄰的字進行調換後查詢,
比如輸入ap可不可以變成使用pa進行查詢,
預設是true。

lenient
這個參數如果開啟了呢,
就是忽略field的屬性進行查詢,
比如原本內容為數值,
但當作字串進行搜尋,
預設值為false。

minimum_should_match
用於設定查詢的比對最小要符合的子句數量,
他可以設定數字比如25之類的,
也可以設負數-2意思就是符合的兩個不要,
也可以利用百分比表示60%-60%根據查詢的結果進行四捨五入,
詳細的方法可以參考這邊https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-minimum-should-match.html


上一篇
Day28 深入解析Elasticsearch Query DSL Match query Part1
下一篇
Day30 深入解析Elasticsearch Query DSL Match query Part3
系列文
Hey~有聽說資安跟ELK有一腿嗎?30

尚未有邦友留言

立即登入留言