1. 程式人生 > >Solr管理介面以及標準介面說明

Solr管理介面以及標準介面說明

1.Solr簡介:

Solr是一個基於Lucene的Java搜尋引擎伺服器。Solr 提供了層面搜尋、命中醒目顯示並且支援多種輸出格式(包括 XML JSONPython、RubyPhp、csv格式)。它易於安裝和配置,而且附帶了一個基於 HTTP 的管理介面。Solr已經在眾多大型的網站中使用,較為成熟和穩定。Solr 包裝並擴充套件了 Lucene,所以Solr的基本上沿用了Lucene的相關術語。更重要的是,Solr 建立的索引與 Lucene 搜尋引擎庫完全相容。通過對Solr 進行適當的配置,某些情況下可能需要進行編碼,Solr 可以閱讀和使用構建到其他 Lucene 應用程式中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用Solr 建立的索引。

2.solr we管理介面的主介面說明;

1)訪問solr主頁,http://伺服器ip:埠(預設為80)/solr,此文件說明的solr服務是部署在tomcat下,預設顯示此頁內容,包含solr版本(此版本為5.2.1),包含系統記憶體和jvm記憶體的使用情況,jvm引數等;

2)logging 日誌資訊

可以檢視在使用solr過程中產生的日誌資訊,也可以臨時改變日誌設定;

3)Core Admin 索引庫管理

這個介面很重要,這可以使多核的配置,索引庫的優化等,變得非常簡單;
主要功能包括:Add Core(新增核心,即索引庫),Unload(解除安裝核心),Rename(重新命名核心),Optimize

(優化索引庫)。如我這裡是三個核心。

4)Java Properties java屬性

Javatomcat一些屬性資訊,jdk版本資訊等等

5)Thread Dump 中可以看到你的JVM 中的所有活動執行緒的Thread Dump

3.Core selector核心選擇器

每個核心中有大量核心相關頁面。這些核心相關頁面允許你做下面的事情:

1)檢視核心相關的屬性,例如,你可以在主核心(例如,core0)頁面檢視到 Lucene segments 的數量等基本資訊。

2)從 Analysis 分析文字內容;

此處可以分析你所配置的分詞器是否生效,可以選擇已經配置分詞的欄位,輸入一句話,Analyse Values

可以檢視是否分詞;

3)使用 Query 執行查詢。

Query操作說明

Solr search query using rest API:

http://localhost/solr/#/core0/query?fq=title:內部&start=0&rows=10&fl=from,tos,title,content&sort=id desc

一個簡單的查詢例項:

查詢含有“內部”值得title欄位,每頁顯示10條資料,回顯欄位from,tos,title,content,按id降序,;

查詢獲得的結果,可以選擇輸出的型別,比如json

{

"responseHeader": { "status": 0, "QTime": 2 }, "response": { "numFound": 1, "start": 0, "docs": [

 { "title": "內部推薦重磅來襲", "content": "\n親愛的小夥伴:\n\n你有火眼金睛嗎?你身邊有汗血寶馬嗎?\n趕快領著你的千里馬來報到吧~~\n本期人力資源部特意為大家送上多個職位,機會難得,還不趕緊看過來!\n\n只要推薦朋友加入,就能獲得800RMB―1500RMB的金額獎勵哦,放肆推吧!\n\n \n\n\n \n本週我們需要這些崗位de銀:\n \n1.滲透測試工程師\n2.高階PHP開發工程師\n3.逆向工程師\n4.App技術經理\n5.市場策劃經理\n6.銷售經理\n\n(任職要求和崗位內容詳見附件)\n\n\n推薦成功你可以獲得:\n\n職務\n獎金(RMB\n初級崗位\n800\n中級崗位\n1000\n高階崗位\n1500\n \n注:公司管理層以及招聘組員工不享受此獎勵\n\n \n推薦方式在這裡:\n\n內部推薦簡歷接收郵箱聯絡人:楊慧\n聯絡電話:\n\n \n獎勵方式是醬嬸兒的:\n被推薦候選人被公司成功錄用且通過試用期考核,推薦人即可獲得相應獎金\n \n我們還設有:\n1.年度銅牌伯樂獎\n截止在本自然年年底推薦成功4-5名及以上員工(轉正且在職) 可獲得獎金4888\n\n2.年度銀牌伯樂獎\n截止在本自然年年底推薦成功6-7名及以上員工(轉正且在職) 可獲得獎金6666\n\n3.年度金牌伯樂獎\n截止在本自然年年底推薦成功8名及以上員工(轉正且在職) 可獲得獎金8888\n\n\n憋猶豫了,小夥伴們,快快響應號召,喊上兄弟來永信至誠,讓世界看到你的影響力吧!\n \n本期沒有獲得內推機會的童鞋也不要灰心,永信至誠內推政策正式啟動了,更多職位招聘訊息,請關注後續公告郵件。\n \n\n \n人力資源部\n 2016412",

"from": "\"[email protected]\" <[email protected]>", "tos": [ "all <[email protected]>" ] } ]

 }

}

返回型別:查詢後結果集型別,預設型別為json,在請求中可以設定返回型別

描述:每個引數的實際作用描述

返回型別

請求連線

描述

json

fl=title,id

是逗號分隔的列表,用來指定文件結果中應返回的 Field 集。預設為 “*”,指所有的欄位。

json

defType=lucene

指定query parser,常用defType=lucene, defType=dismax, defType=edismax

json

qf=content

query fields,指定solr從哪些field中搜索。

json

Pf=引數

用於指定一組field,當query完全匹配pf指定的某一個field時,來進行boost。

json

fq=引數:查詢內容

filter query,過慮查詢。

json

mm=AND

minimal should match。Solr支援三種查詢clause,即“必須出現”, “不能出現”和“可以出現”,分別對應於AND, -, OR。

在預設情況下,使用OR這個clause。mm用於設定在使用OR這個clause時,需要出現最少的滿足條件的clause數量。

xml

wt=xml

writer type,指定輸出格式,可以有 xml, json, php,ruby等

json

df=title

預設的查詢欄位title。 

json

qt=standard

query type,指定那個型別來處理查詢請求,一般不用指定,預設是standard。

4)Solrt通過url方式刪除資料

Update操作說明

傳送請求:

返回處理結果:主要看狀態碼

執行正常

<response>

<lst name="responseHeader">

<int name="status">0</int>

<int name="QTime">112</int>

</lst>

</response>

執行失敗,原因是請求的引數有誤

<response>

<lst name="responseHeader">

<int name="status">400</int>

<int name="QTime">4</int>

</lst>

<lst name="error">

<str name="msg">

no field name specified in query and no default specified via 'df' param

</str>

<int name="code">400</int>

</lst>

</response>

根據id刪除資料

根據查詢引數條件刪除資料

返回型別:查詢後結果集型別,預設型別為json,在請求中可以設定返回型別

描述:每個引數的實際作用描述

stream 相關引數:

stream.file=(伺服器本地檔案);

stream.url 分別指到你的刪除文字,這裡是直接字串內容用 stream.body引數。

commit 引數是指提交,提交了才能看到刪除效果。

刪除指令有兩種,一是:用 <id></id>包裝;二是:<query></query>包裝。指令都很明顯,一個是 id值(是在 schema.xmluniqueKey所指欄位的值,而不是索引內部的 docId);query值是查詢串,如:title:"solr lucene"