日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

solr的基础使用

發布時間:2025/3/8 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 solr的基础使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

查詢運算符

例如:http://localhost:8984/solr/mycore/select?q=*:*

:? 指定字段查指定值,如返回所有值q=*:*

?? 匹配單個字符, 例如: q=title:??拳 可以匹配標題為“形意拳”的文檔

*? 匹配零個或多個字符, 例如: q=title:*形意拳 或者?q=title:*拳 都可以匹配標題為“形意拳”的文檔

~? 表示模糊檢索, 例如:q=title:xoodcopping~0.8 可以匹配到標題為“Woodchopping”的文檔, 但是q=title:xoodcopping~0.9 就無法匹配到, ~后面的數組在0~1之間,數值越大相似度越高。

AND 與操作符,例如: q=title:形意拳 AND type:sport 可以匹配到標題為形意拳并且類型為sport的文檔

OR? 或操作符,例如:?q=title:形意拳 OR title:悠波球 可以匹配到標題為形意拳或者悠波球的文檔

NOT 非操作符, 例如: q=type:sport NOT title:悠波球 可以匹配到所有類型為sport但是標題不是悠波球的文檔

! 非操作符, 例如:?q=type:sport?!title:悠波球 可以匹配到所有類型為sport但是標題不是悠波球的文檔

- 非操作符, 例如:?q=type:sport -title:悠波球 可以匹配到所有類型為sport但是標題不是悠波球的文檔

+? 存在操作符,要求符號”+”后的項必須在文檔相應的域中存在

()? 用于構成子查詢, 例如: q=type:sport AND ( group:sport OR title:悠波球 )

[]? 包含范圍檢索,如檢索某時間段記錄,包含頭尾,例如: q=date:[201507 TO 201510]

{}? 不包含范圍檢索,如檢索某時間段記錄,不包含頭尾, 例如:?q=date:{201507 TO 201510}

?

查詢參數

q 指定查詢條件, 條件項目以":"分割屬性和值, 支持多個條件和子查詢, 參考上面的查詢運算符。

fq 過濾條件,格式同參數q,fq是在使用q參數查詢完成后,再針對結果進行過濾。

sort 結果排序方式,支持desc和asc兩種方式,例如:sort=score desc, price asc, sum(x_d, y_d) desc;? 當不指定sort參數時,將會使用隱藏字段score進行desc排序。?

start 結果偏移起始量

rows 返回結果的數量,配合start參數可實現分頁的查詢

fl Field List,指定返回結果中包含的字段, 默認返回除score等隱藏字段之外的所有字段,等同于fl=*,返回指定字段例如:fl=name, age

df Default Field 默認查詢的字段,如果在q中沒有指定字段,例如:q=michael 的時候指定默認的字段 df=name, 等同于q=name:michael

wt 響應的數據格式,支持格式:csv,geojson,javabin,json,php,phps,python,ruby,smile,velocity,xlsx,xml,sxlt

?

命令行操作

啟動solr服務器?

# solr start -p 8984

創建core

# solr create_core -c mycore?

?

常用操作

增加文檔

<add><doc><field name="id">1</field> <field name="name">四格</field> <field name="introduction">最長在家半年的死宅,三周熱度,三天打魚兩天曬往</field> </doc> </add> <commit/>

?

問題

Solr中的q與fq參數的區別在那兒?

原文鏈接:http://www.highersoft.net/html/notice/notice_311.html

今天遇到一個問題,把相同的參數比如name:張三,放到q與fq,兩者返回的結果完全不一樣。

?經過debug發現,原因是這兩個參數是solr查詢的不同階段使用的,所以結果不一樣。

?如果用于q。那么,就會查所有name中包含"張三"的,然后order by score,這時就會按name的相似度來排序。

而如果用fq,q設置為*:*。那么solr會先order by score,而因為條件是*:*,所以所有文檔的相關性都是一樣的,所以即使用fq過濾了,返回的最前面的卻不是相關性最高的。

綜上所述,以相關性(score)為優先排序條件的,那么條件一定放在q參數中。

?

轉載于:https://www.cnblogs.com/michaelluthor/p/8719495.html

總結

以上是生活随笔為你收集整理的solr的基础使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。