iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 26
0
Elastic Stack on Cloud

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

Day26 深入解析Elasticsearch Query DSL Fuzzy query

Hello大家~
昨天有去看煙火嗎?
個人很怕煙火聲都是看別人拍好的然後靜音觀看XD

在之前的內容我們有討論過關於Fuzzy query的使用方法,
那這邊其實是有一些參數是可以進行設定的!
包含了
fuzziness
max_expansions
pfefix_length
transpositions
rewrite
五個
那我們下面逐一地來說一下這五個的設定影響,
1.fuzziness
這個就是在設定說你可以容忍他搜尋的多模糊,
這裡他們採用的是Levenshtein Edit Distance 的方式進行定義,
我們可以在這邊輸入數字比如0、1、2來設定模糊參數,
預設都是Auto
他會按照你給予查詢的長度給予不同的參數,
Auto預設的參數則為3,6
如果希望利用Auto確認長度後決定相對應的參數也可以,
他可以更改為Auto:2,6

這個設定的參數從0開始:
0~2之間必須完全相同,
比如說我們打es,
輸出的結果一定會含es這個內容;
3~5容許進行一次更改,
所謂的一次更改就是說依照原本的字詞可以更改一次,
比如說Jim->Tim;
5以上容許進行兩次更改,
更改兩次則會先從Jim->Tim,
然後又從Tim->Tom。

2.max_expansions
這是設定他允許擴充字數的最大值,
預設為50,
所以從你輸入的字詞當中他最大就是找到50這個長度的內容,
這個數字的大小會影響搜尋效能,
所以在pfefix_length為0時不要將此參數設定的過大。

3.pfefix_length
在進行擴大字數的時候,
一開始保持不變的字數,
預設為0,。

4.transpositions
這就是相鄰字詞是否可以變換位置,
比如原本我們輸入cat進行搜尋,
可否顯示利用act搜尋的結果。

5.rewrite
可以選擇進行rewrite的方法如:
constant_score
constant_score_boolean
scoring_boolean
top_terms_blended_freqs_N
top_terms_boost_N
top_terms_N


上一篇
Day25 Elasticsearch我們直接上系列!將搜尋的項目加一點重要性
下一篇
Day27 深入解析Elasticsearch Query DSL Range query
系列文
Hey~有聽說資安跟ELK有一腿嗎?30

尚未有邦友留言

立即登入留言