0. 引言
solr作為搜索引擎,就像我們使用mysql一樣,在日常業(yè)務(wù)中,更多接觸的則是各類操作語(yǔ)法,所以今天,我們?cè)賮?lái)學(xué)習(xí)solr的常用查詢語(yǔ)法,為大家在工作中最基本的solr查詢打下基礎(chǔ)。
solr快速上手:solr簡(jiǎn)介及安裝(一)
solr快速上手:核心概念及solr-admin界面介紹(二)
solr快速上手:managed-schema標(biāo)簽詳解(三)
solr快速上手:創(chuàng)建核心/索引/core(四)
solr快速上手:配置從mysql同步數(shù)據(jù)(五)
solr快速上手:實(shí)現(xiàn)從mysql定時(shí)自動(dòng)同步數(shù)據(jù)(六)
solr快速上手:配置IK中文分詞器(七)
1. 基本概念
1.1 通配符
當(dāng)需要進(jìn)行正則類匹配時(shí),需要用到通配符
通配符 | 說(shuō)明 |
---|---|
? | 匹配任意單個(gè)字符 |
* | 匹配任意多個(gè)字符 |
product_name:?果
remarks:送貨*
1.2 連接符
solr中要實(shí)現(xiàn)多條件查詢,就需要通過(guò)連接符來(lái)實(shí)現(xiàn),支持并&&
,或||
連接
remarks:送貨* && product_name:蘋果
remarks:送貨* || product_name:蘋果
2. 常用查詢語(yǔ)法
1.1 精確查詢
- 分詞查詢 filed:value
remarks:送貨
- 強(qiáng)制不分詞查詢 field:“value”
remarks:“送貨上門”
在查詢?cè)~外加上雙引號(hào)
- 短語(yǔ)查詢 field:“value1 value2”
remarks:“送貨上門 不想下樓”
不同的短語(yǔ)之間用空格隔開
1.2 模糊查詢
- 通配符查詢 field:value*, field:v?lue
remarks:送貨* | 匹配以“送貨”開頭的數(shù)據(jù)
product_name:?果 | 匹配以“果”結(jié)尾,且前面只有一個(gè)字符的數(shù)據(jù)
product_name:* | 匹配product_name不為空的數(shù)據(jù)*:*
不區(qū)分字段,| 查詢所有數(shù)據(jù)
- 模糊搜索 field:value~N
區(qū)別于上述的通配符查詢,模糊查詢指的是我們?cè)谌粘2樵冎谐霈F(xiàn)的錯(cuò)別字,近似詞等查詢場(chǎng)景,用一個(gè)“~”符號(hào)表示,后面的N表示允許誤差的字符個(gè)數(shù),不寫默認(rèn)為1
remarks:送火上門~1
- 鄰近搜索 field:“value”~N
所謂鄰近搜索,就是多個(gè)關(guān)鍵詞之間的距離在指定范圍,主要應(yīng)用于近似詞的搜索,比如搜索“apple pie”~2, 那就是搜索文檔中包含“apple”, "pie"分詞,且兩個(gè)分詞之間距離不超過(guò)2的數(shù)據(jù)
與模糊查詢的區(qū)別是這個(gè)多了雙引號(hào)
remarks:“送貨 下樓”~2, “送貨”與“下樓”之間隔了“上門”與“不想”,距離在2個(gè)之內(nèi),于是可以查詢出來(lái)
1.3 排除查詢
- 排除查詢 filed:(* NOT “value1” NOT “value2”)
排除指定的分詞,將其他的數(shù)據(jù)查詢出來(lái)
remarks:(* NOT “送貨” NOT “紅的”)
1.4 范圍查詢
- 數(shù)值范圍查詢 field:[v1 TO v2] , field:{v1 TO v2}
price:[10 TO 29] | 表示price >= 10 & price <= 29
price:{10 TO 29} | 表示price >10 & price < 29
price:[10 TO *] | 表示price >= 10
- 日期范圍 field:[YYYY-MM-DDTHH:mm:ssZ TO YYYY-MM-DDTHH:mm:ssZ]
create_time:[2023-05-01T00:00:00Z TO 2023-05-10T23:00:00Z]
1.5 權(quán)重查詢
- 權(quán)重查詢
field:value1^2 value2^0.5
存在部分場(chǎng)景,我們需要將匹配查詢?cè)~1的數(shù)據(jù)優(yōu)先排序,匹配查詢?cè)~2的降低優(yōu)先級(jí),這時(shí)就需要用到"^"關(guān)鍵詞,通過(guò)其對(duì)查詢得分設(shè)置權(quán)重
remarks:送貨^2
2. 更多查詢
本文我們只列舉基礎(chǔ)常用的查詢,更多查詢用法,大家可以查看官方文檔拓展:
https://solr.apache.org/guide/solr/latest/query-guide/standard-query-parser.html#fuzzy-searches
如果想要切換對(duì)應(yīng)版本的官方文檔,可在頁(yè)面上調(diào)整文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-486186.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-486186.html
到了這里,關(guān)于solr快速上手:常用查詢語(yǔ)法(八)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!