Elasticsearch 模糊查詢

2021-10-07 06:36:56 字數 1572 閱讀 9662

模糊查詢主要針對文字型別使用。

1、當搜尋欄位是text型別時:由於它會分詞,在執行wildcard、regexp、prefix時,es會檢查欄位中的每個詞條,而不是整個字段。

2、當搜尋欄位是keyword型別時:在執行wildcard、regexp、prefix時,es會檢查欄位中整個文字。

效能方面:prefix > wildcard > regexp

prefix 字首查詢,以下查詢示例 表示查出所有姓張的人(名字name以張開頭),並且只返回name欄位(_source欄位的列表就是需要返回的)

查詢示例:

post /_search?pretty

}

]}},

"size": 5,

"_source": ["name"]

}

wildcard支援shell標準萬用字元。

注意:字母要小寫!

注意:字母要小寫!

注意:字母要小寫!

萬用字元含義例項*

匹配 0 或多個字元

a*b,a與b之間可以有任意長度的任意字元, 也可以乙個也沒有, 如 aabcb, axyzb, a012b, ab

?匹配任意單個字元

a?b,a與b之間有且只有乙個字元, 可以是任意字元, 如 aab, abb, acb, a0b

[list] 

匹配 list 中的任意單個字元

a[xyz]b,a與b之間必須也只能有乙個字元, 但只能是 x 或 y 或 z, 如 axb, ayb, azb。

[!list]

匹配除 list 中的任意單一字元

a[!0-9]b,a與b之間必須也只能有乙個字元, 但不能是阿拉伯數字, 如 axb, aab, a-b。

[c1-c2]

匹配 c1-c2 中的任意單一字元

a[0-9]b,匹配0與9之間其中乙個字元,如 a0b, a1b… a9b

匹配 s1 或 s2 (或更多)中的乙個字串

ab,a與b之間只能是abc或xyz或123這三個字串之一

查詢示例,查詢名字中帶有『萬』字的文件

查詢示例,查詢名字中帶有『萬』字的文件

post /_search?pretty

}

]}},

"size": 2,

"_source": ["name"]

}

注意:字母要小寫!

注意:字母要小寫!

注意:字母要小寫!

支援標準的正則。

查詢示例:

post /_search?pretty

}

]}},

"size": 2,

"_source": ["name"]

}

yii2 0 elasticsearch模糊查詢

最近使用yii2.0查詢es資料,一般查詢語句用的yii2.0的query類,遇到模糊查詢使用like的時候竟然報 like conditions are not supported by elasticsearch.在querybuilder.php中查詢到這個函式private function...

Unity FairyGUI模糊效果 模糊濾鏡

fairygui可以使乙個顯示物件進入繪畫模式,簡單的說就是將目標物件整體畫到一張紋理上,然後就可以操作這個紋理實現一些特殊的效果。這裡簡單使用到的就是對元件使用任意濾鏡和對任意物件使用模糊濾鏡。但是對元件使用模糊濾鏡有乙個限制,就是元件內只有實體ui才會被模糊 例如空的gloader不行 空白處是...

泛洪填充 均值模糊,中值模糊,銳化 高斯模糊

import cv2 as cv import numpy as np deffill image copyimg image.copy h,w image.shape 2 mask np.zeros h 2 w 2 np.uint8 規定這麼大 cv.floodfill copyimg,mask,...