1. 程式人生 > >Solr --- 管理介面詳解

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: 拼寫檢查。