Solr --- 管理介面詳解
一、Dashboard --- 儀表盤
顯示了該Solr例項開始啟動執行的時間、版本、系統資源、jvm等資訊。
二、Logging --- 日誌
顯示solr執行出現的異常或錯誤
三、Core Admin --- Solr Core的管理介面
Solr Core的管理介面。Solr Core 是Solr的一個獨立執行例項單位,它可以對外提供索引和搜尋服務,一個Solr工程可以執行多個SolrCore(Solr例項),一個Core對應一個索引目錄。
主要有Add Core(新增核心), Unload(解除安裝核心),Rename(重新命名核心),Reload(重新載入核心),Optimize(優化索引庫)
新增solrcore:
- 複製collection1改名為collection2
- 修改core.properties。name=collection2
- 重啟tomcat
四、Java Properties --- 屬性
Solr在JVM 執行環境中的屬性資訊,包括類路徑、檔案編碼、jvm記憶體設定等資訊。
五、Thread Dump --- 執行緒
顯示Solr Server中當前活躍執行緒資訊,同時也可以跟蹤執行緒執行棧資訊。
六、Core Selector --- Solr Core選擇器
6.1、Overview --- 概覽
包含基本統計,如當前文件數;例項資訊,如當前核心的配置目錄
6.2、Analysis --- 分析器
通過此介面可以測試索引分析器和搜尋分析器的執行情況。
6.3、Dataimport --- 資料匯入處理器
可以定義資料匯入處理器,從將資料庫中的資料匯入到Solr索引庫中。詳情參見:Solr --- 從資料庫批量匯入資料
Comman選項:full_import:全匯入;delta_import:增量匯入。
所謂delta-import主要是對於資料庫(也可能是檔案等等)中增加或者被修改的欄位進行匯入。主要原理是利用率每次我們進行import的時候在solrhome/conf下面生成的dataimport.properties檔案,此檔案裡面有最近一次匯入的相關資訊。
Verbose:
Clean: 在索引開始構建之前是否刪除之前的索引,預設為true
Commit: 在索引完成之後是否提交。預設為true
Optimize: 是否在索引完成之後對索引進行優化。預設為true
Debug: 是否以除錯模式執行,適用於互動式開發(interactive development mode)之中。
請注意,如果以除錯模式執行,那麼預設不會自動提交,請加引數“commit=true”
Entity: entity是document下面的標籤(data-config.xml)。使用這個引數可以有選擇的執行一個或多個entity 。使用多個entity引數可以使得多個entity同時執行。如果不選擇此引數那麼所有的都會被執行。
Start,Rows: 分頁
Custom Parameters:
Excute:執行匯入。
Refresh Status:重新整理後才能看到資料發生了變化,如果重新整理後資料還是0,說明未匯入。
6.4、Documents --- 索引文件
Documents(索引文件)索引的相關操作,如:增加,修改,刪除等,例如我們要增加一個索引(testName)的辦法:
(1)先要在solr 的solr_home/collection1/conf 的 schema.xml配置檔案下,增加相關的欄位field
<field name="testName" type="text_ik" indexed="false" stored="true" multiValued="false" />
否則會出現如下錯誤:
Status: error
Error: Bad Request
Error:
{
"responseHeader": {
"status": 400,
"QTime": 1
},
"error": {
"msg": "ERROR: [doc=126] unknown field 'companyName'",
"code": 400
}
}
(2)在如下頁面,選擇/update ,文件格式選擇json ,然後submit 提交。這樣 索引就增加上了。修改與增加一樣,都是/update ,刪除為/delete 。 成功之後,我們去query裡查詢資料就能查到我們剛新增的資料.
Request-Handler(qt): 要進行的操作(update\delete)
Document Type:型別,有JSON、XML等格式
Document(s): 內容,手動寫的內容。
Commit Within:
Overwrite: 為true,說明如果id重複則覆蓋以前的值;為false說明如果id重複不覆蓋以前的值.
Boost:
6.5、Files --- 資料夾
solrhome下的collection1下的conf下的相關檔案,可單擊檢視裡面的內容.
6.6、Query --- 查詢頁
查詢索引的文件,包含是否存在,排序是否正確等
Request-Handler(qt):
q: 查詢字串(必須的)表示查詢所有
fq: filter query 過濾查詢。使用Filter Query可以充分利用Filter Query Cache,提高檢索效能。作用:在q查詢符合結果中同時是fq查詢符合的(類似求交集),例如:q=mm&fq=date_time:[20081001 TO 20091031],找關鍵字mm,並且date_time是20081001到20091031之間的。
sort: 排序。格式如下:欄位名 排序方式;如advertiserId desc 表示按id欄位降序排列查詢結果。
start,rows:表示查回結果從第幾條資料開始顯示,共顯示多少條。
fl: field list。指定查詢結果返回哪些欄位。多個時以空格“ ”或逗號“,”分隔。不指定時,預設全返回。
df: default field預設的查詢欄位,一般預設指定。
Raw Query Parameters:
wt: write type。指定查詢輸出結果格式,我們常用的有json格式與xml格式。在solrconfig.xml中定義了查詢輸出格式:xml、json、python、ruby、php、phps、custom。
indent: 返回的結果是否縮排,預設關閉,用 indent=true | on 開啟,一般除錯json,php,phps,ruby輸出才有必要用這個引數。
debugQuery: 設定返回結果是否顯示Debug資訊。
dismax:
edismax:
hl: high light 高亮。hl=true表示啟用高亮
hl.fl : 用空格或逗號隔開的欄位列表(指定高亮的欄位)。要啟用某個欄位的highlight功能,就得保證該欄位在schema中是stored。如果該引數未被給出,那麼就會高 亮預設欄位 standard handler會用df引數,dismax欄位用qf引數。你可以使用星號去方便的高亮所有欄位。如果你使用了萬用字元,那麼要考慮啟用 hl.requiredFieldMatch選項。
hl.simple.pre:
hl.requireFieldMatch: 如果置為true,除非該欄位的查詢結果不為空才會被高亮。它的預設值是false,意味 著它可能匹配某個欄位卻高亮一個不同的欄位。如果hl.fl使用了萬用字元,那麼就要啟用該引數。儘管如此,如果你的查詢是all欄位(可能是使用 copy-field 指令),那麼還是把它設為false,這樣搜尋結果能表明哪個欄位的查詢文字未被找到
hl.usePhraseHighlighter:如果一個查詢中含有短語(引號框起來的)那麼會保證一定要完全匹配短語的才會被高亮。
hl.highlightMultiTerm:如果使用萬用字元和模糊搜尋,那麼會確保與萬用字元匹配的term會高亮。預設為false,同
hl.usePhraseHighlighter要為true。
facet:分組統計,在搜尋關鍵字的同時,能夠按照Facet的欄位進行分組並統計。
facet.query:Facet Query利用類似於filter query的語法提供了更為靈活的Facet.通過facet.query引數,可以對任意欄位進行篩選。
facet.field:需要分組統計的欄位,可以多個。
facet.prefix: 表示Facet欄位值的字首。比如facet.field=cpu&facet.prefix=Intel,那麼對cpu欄位進行Facet查詢,返回的cpu都是以Intel開頭的, AMD開頭的cpu型號將不會被統計在內。
spatial:
spellcheck: 拼寫檢查。