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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538982.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538982.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538982.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

同步關鍵詞lock

概述 1、API在JDK的java.util.concurrent.locks下。 2、不是Java關鍵字&#xff0c;是接口。 3、ReentrantLock是JDK唯一實現了Lock接口的類。 public interface Lock {//獲取鎖void lock();//可以響應中斷的鎖void lockInterruptibly() throws InterruptedException;//嘗試…

Java bitset轉string_將java BitSet保存到DB

默認情況下,JPA使用Java序列化來保存未知Serializable類型的屬性(以便將序列化表示存儲為byte []).通常它不是您想要的,因為可以有更有效的方式來表示您的數據.例如,BitSet可以有效地表示為數字(如果它的大小有界),或者byte [],或其他東西(遺憾的是,BitSet不提供進行這些轉換的…

python讀取raw圖片文件_在python下讀取并展示raw格式的圖片實例

raw文件可能有些人沒有&#xff0c;因此&#xff0c;先用一張圖片創建一個raw格式的文件&#xff08;其實可以是其他類型的格式文件&#xff09; import numpy as np import cv2 img cv2.imread(cat.jpg) # 這里需要我們在當前目錄下放一張名為cat.jpg的文件 img.tofile(cat.r…

python怎么網絡通信_深入Python中的網絡通信

TCP/IP計算機與網絡設備兩情侶要談戀愛&#xff0c;相互通信&#xff0c;那么雙方就必須有規則。基于相同的方法&#xff0c;不同的硬件、操作系統之間的通信&#xff0c;都需要一種規則。而我們就把這種規則稱為協議(protocol)。TCP/IP 是互聯網相關各類協議族的總稱。TCP/IP是…

ReadWriteLock讀寫文件

概述 ReadWriteLock是一個接口&#xff0c;在它里面只定義了兩個方法&#xff1a;一個讀的鎖和一個寫的鎖。 讀的鎖&#xff1a;A線程獲取了讀的鎖&#xff0c;那么B線程也可以獲取讀的鎖。 寫的鎖&#xff1a;A線程獲取了寫的鎖&#xff0c;那么B線程不能獲取讀也不能獲取寫…

搞懂 Java HashMap 源碼

HashMap 源碼分析 前幾篇分析了 ArrayList &#xff0c; LinkedList &#xff0c;Vector &#xff0c;Stack List 集合的源碼&#xff0c;Java 容器除了包含 List 集合外還包含著 Set 和 Map 兩個重要的集合類型。而 HashMap 則是最具有代表性的&#xff0c;也是我們最常使用到…

python 怎么表示sqlserver null_如何使用Python將sqlserver查詢輸出寫入.txt文件?

我是Python新手&#xff0c;嘗試連接到sqlserverdb并將查詢的輸出轉換成一個flat.txt文件。在一些代碼正在工作&#xff0c;但是只寫了將近1000條記錄&#xff0c;然后就停止了。在Python版本&#xff1a;2.7.13。在下面的代碼能夠把100萬條記錄全部寫入csv文件而不是.txt文件&…

python中object是什么類型_Python 的 type 和 object 之間是怎么一種關系?

class&#xff0c;metaclass&#xff0c;instance&#xff0c;subclass&#xff0c;base 以下成立&#xff1a; 對任意的A&#xff0c;A是instance&#xff08;推論&#xff1a;任意class也是instance&#xff09; 對任意A&#xff0c;存在B&#xff0c;使得B是A的class A是cla…

java8新生代_jdk8.0的jvm詳情

jstat命令可以查看堆內存各部分的使用量&#xff0c;以及加載類的數量。命令的格式如下&#xff1a;jstat [-命令選項] [vmid] [間隔時間/毫秒] [查詢次數]注意&#xff1a;使用的jdk版本是jdk8.[work16-11-118qf-pms]$ jstat -class 32417Loaded?? Bytes?? Unloaded?? B…

Java中的Runnable、Callable、Future、FutureTask的區別與示例

原文地址&#xff1a;http://blog.csdn.net/bboyfeiyu/article/details/24851847 --------------------------------------------------------- Java中存在Runnable、Callable、Future、FutureTask這幾個與線程相關的類或者接口&#xff0c;在Java中也是比較重要的幾個概念&am…

sql count為空時顯示0_C0010負坐標顯示為正數+紅色0值參考線

小伙伴們早上好啊&#xff01;今天繼續為大家分享柱形圖的美化技巧。希望大家認真閱讀Excel文件和教程&#xff0c;有的圖表看起來簡單&#xff0c;實際上在細節處理上用了很多技巧&#xff0c;大家要多多體會。C0010-負坐標顯示為正數紅色0值參考線效果圖圖表概述本圖可以用來…

配置IISExpress允許外部訪問

配置IISExpress允許外部訪問 1.找到IISExpress的配置文件&#xff0c;位于 <文檔>/IISExpress/config文件夾下&#xff0c;打開applicationhost.config&#xff0c;找到如下代碼&#xff1a;<site name"WebSite1" id"1" serverAutoStart"tru…

python布爾測試對象_python布爾類型和邏輯運算

布爾類型 python中True表示真&#xff0c;False表示假&#xff0c;它們是布爾類型&#xff1a;1 2>>> type(True) 在python中&#xff0c;bool的True和False是數值1和0的字符串表示格式&#xff0c;實際上bool類型是int類型的一個子類。1 2>>> bool.__bases_…

mac預裝的php路徑,Mac使用系統自帶php和Apache

最美的語言本文將介紹在Mac環境下如何使用系統本身所帶有的Apache(阿帕奇服務器)通過預裝的PHP版本來運行PHP的相關代碼&#xff0c;相對來講在OS X系統下相對好配置一些&#xff0c;因為Apache和PHP都預裝好了&#xff0c;如果是Windows環境我們需要自己安裝ApachePHPMysql(通…

線程池與Callable更配哦

概述 Callable介紹見&#xff1a;http://blog.csdn.net/zengmingen/article/details/53288119 多線程介紹見&#xff1a;http://blog.csdn.net/zengmingen/article/details/53284999 代碼 TaskCallable.javapackage multithreading.pool;import java.util.concurrent.Callabl…

IP編址,IP地址介紹與子網劃分方法

網絡層位于數據鏈路層與傳輸層之間。網絡層中包含了許多協議&#xff0c;其中最為重要的協議就是IP協議。網絡層提供了IP路由功能。理解IP路由除了要熟悉IP協議的工作機制之外&#xff0c;還必須理解IP編址以及如何合理地使用IP地址來設計網絡。 上層協議類型 以太網幀中的Typ…

3- OpenCV+TensorFlow 入門人工智能圖像處理-TensorFlow入門

tensorflow基礎入門 思考一個問題: 如何剛好學習TensorFlow 類比為一門開發語言&#xff0c;學會語法&#xff0c;api的調用&#xff0c; 原理性掌握。語言的要素: 基礎數據類型 運算符 流程 字典 數組 import tensorflow as tf# 常量&#xff0c;指定數據類型 data1 tf.const…

r 函數返回多個值_第四講 R描述性統計分析

在“R與生物統計專題”中&#xff0c;我們會從介紹R的基本知識展開到生物統計原理及其在R中的實現。以從淺入深&#xff0c;層層遞進的形式在投必得醫學公眾號更新。在上一講中&#xff0c;我們介紹了第三講 R編程基礎-矩陣和數據框 (戳這里即可跳轉)。到現在為止&#xff0c;大…

python雙線性插值函數_雙線性插值法原理 python實現

碼字不易&#xff0c;如果此文對你有所幫助&#xff0c;請幫忙點贊&#xff0c;感謝&#xff01;一. 雙線性插值法原理&#xff1a;① 何為線性插值&#xff1f;插值就是在兩個數之間插入一個數&#xff0c;線性插值原理圖如下&#xff1a;在位置 x 進行線性插值&#xff0c;插…

張恩民 php,php100教程_php100張恩民php視頻 56課時_網站編程_寂涯網絡學習基地

1、PHP基本語法和數據類型&#xff1a;(1)、PHP基本語法&#xff1a;1、htm 和 php 混編2、一個語句以 ; (分號結束)3、如何定義一個變量&#xff0c;和變量的使用(2)、PHP數據運算類型四種標量類型&#xff1a;boolean(布爾型)integer(整型)float(浮點型&#xff0c;也作“do…