05 Apache Solr: 管理員界面(Admin UI),solrui
為了方便管理員和工程師調整Solr的配置和訪問在線文檔和其他的幫助,Solr提供了一個Web界面去查看Solr的配置詳情,運行查詢語句和分析文檔字段。這個界面在第三篇裡面提到過就是管理員界面(以下簡稱Admin UI),如下圖所示:
可以看出Admin UI的界面還是比較復雜的。下面將分別就界面的各個模塊進行講解。
獲取幫助
在右側區域的底部,就是幫助區,無論當前正在Admin UI上操作什麼,幫助區的位置始終不變並且一直顯示。如下表:
鏈接
描述
Documentation
導航到Solr的在線文檔頁面。
Issue Tracker
導航到Apache Solr項目的JIRA問題跟蹤服務器。服務地址:
IRC Channel
導航到Apache的維基百科頁面,描述如何加入Solr的IRC在線聊天室:
Community forum
導航到Apache的維基百科頁面,這裡有關於加入Solr社區郵件列表的更多信息。
Solr Query Syntax
導航到Guide文檔的Query Syntax and Parsing小節。
日志
日志頁面顯示當前Solr節點最近記錄的信息。點擊Admin UI左側的Logging鏈接,就能看到下圖類似的頁面。
設置日志的級別
當選中Logging下的Level鏈接時,將會看到一個classpath和classname的層級結構。點擊任意一行,都會彈出一個日志級別的菜單,可以設置任意級別或取消級別設置。因為日志設置是樹狀的,設置了父節點的日志級別,將會默認的作用到其子節點,除非子節點有特定的設置。如圖所示,root下的所有節點默認都是INFO級別,但是hadoop節點將只會輸出WARN級別的日志。
Core Admin
Core Admin界面提供了一些管理Core級別信息的基礎功能,並且由Core Admin API驅動。在Core Admin界面(如下圖)中,左側是一個已經存在的Core的列表,點擊任意一個Core名稱,可以進而查看它的詳細信息,同時還能完成各種操作。
Java Properties
Java Properties界面,提供到Solr系統中最高效率的必備組件的簡單訪問。在這個界面,我們能看到運行著Solr的JVM的所有的屬性:包括class path,文件編碼,JVM內存設置,操作系統等等。
Thread Dump(線程堆棧)
線程堆棧界面,能使你檢查服務器上當前的活躍線程。每一個線程都被展示在列表中,而且對於堆棧軌跡的訪問查看也是可以的。
線程名稱左邊的圖標,用於指示線程的狀態,例如:打勾的表示的是“可運行狀態”;線程名稱右邊的鄉下的箭頭,用於指示可以展開查看堆棧軌跡。當移動指針到線程名稱上面的時候,線程狀態將顯示出來。有下面這樣一些線程狀態:
狀態
意義
NEW
線程未啟動。
RUNNABLE
線程正在JVM上運行。
BLOCKED
線程被監視器鎖阻塞。
WAITING
線程無限期的等待另一個線程完成一個特定的動作。
TIMED_WAITING
線程等待另一個線程完成一個動作來指定一個等待時間。
TERMINATED
線程已經退出。
Core Selector
點擊Core Selector菜單,將會顯示一個當前Solr實例中的Core的列表;如果Core過多,還可以通過列表上方的搜索框對特定的Core進行搜索。當選中一個Core之後,內容區域將會展示Core對應的元數據,同時在Core選擇框下面,會出現一個二級菜單。
二級菜單如下:
- Overview:選擇Core之後呈現的默認界面,展示Core的統計信息、實例信息、同步復制等信息。
- Analysis:分析從指定字段找到的數據。
- Dataimport:顯示Data Import Handler當前的狀態信息。
- Documents:提供一個簡單的表單,讓你可以通過浏覽器直接執行許多Solr的索引命令。
- Files:顯示當前Core的配置文件。
- Ping:檢測服務器的可鏈接情況。
- Plugins/Stats:查看Core的插件及統計狀態信息。
- Query:使得你可以提交一個關於Core中多個元素的結構化查詢。
- Replication:展示主從復制的基本信息。並且可以完成簡單的設置。
- Schema:顯示模式的基本信息。可以添加字段、動態字段和拷貝字段。
- Segmetns info:查看分片信息。
Analysis(分析界面)
分析界面使得你可以檢查怎樣根據Schema中設置的字段、字段類型和動態字段配置來處理數據。你可以同時分析內容在建索引時和處理查詢時會被如何處理以及單獨查看結果。理想狀況下,你可能希望內容能始終如一的處理,並且此界面允許你驗證字段和字段分析鏈的設置。
在下圖頂部的一個或兩個輸入框中都輸入內容,然後選擇將要分析的字段名或字段類型。勾選Verbose Output將會看到更多的輸出信息。
Dataimport(數據導入界面)
數據導入界面展示DataImportHandler的配置,並且允許你啟動和監測導入命令的狀態。倒入命令的定義見下圖中間區域。此界面同時讓你可以調整選項內容去控制如何把數據倒入到Solr,查看控制倒入的配置文件。
Documents(文檔界面)
文檔界面提供了一個簡單的表單,允許你可以執行許多Solr的索引命令,而且支持數種文檔格式(如:JSON,XML,CSV等),甚至支持上傳對應格式的文檔。
第一步是定義RequestHandler,又叫做‘qt’。默認情況下使用/update,如果要使用Solr Cell,將命令改為/update/extract。接著選擇文檔類型,選擇文檔類型後,下面的參數將會發生改變。
JSON
當使用JSON文檔類型,就像在命令行使用RequestHandler一樣。不同的是,在Documents文本框中錄入文檔,而不是在命令行中錄入,但是文檔的結構還應該是JSON類型。然後確定文檔應該什麼時候添加到索引中(Commit Within),無論是否已經存在相同id的文檔需要被覆蓋(如果不允許覆蓋,那麼新加入的文檔將被刪除),最後提交文檔。
CSV
當使用CSV文檔類型,和命令行使用RequestHandler也是一樣的。不同的是,在Documents文本框中錄入文檔,而不是在命令行中錄入,但是文檔的格式是CSV格式的。然後確定文檔應該什麼時候添加到索引中(Commit Within),無論是否已經存在相同id的文檔需要被覆蓋(如果不允許覆蓋,那麼新加入的文檔將被刪除),最後提交文檔。
File Upload
File Upload選項,允許上傳一個已經准備好的文件。如果只是用/update命令,上傳文檔的格式限制在XML,CSV和JSON格式。
Solr命令
Solr命令選項允許使用XML或JSON執行指定動作。例如定義添加或刪除文檔,更新文檔的指定字段,提交和優化索引的命令。當使用/update命令的時候,文檔要按需格式化。
XML
當使用XML文檔類型,和命令行使用RequestHandler也是一樣的。不同的是,在Documents文本框中錄入文檔,而不是在命令行中錄入,但是文檔的格式是XML格式的,每個文檔都需要用<doc>標簽分割,在<doc>標簽內定義字段。然後確定文檔應該什麼時候添加到索引中(Commit Within),無論是否已經存在相同id的文檔需要被覆蓋(如果不允許覆蓋,那麼新加入的文檔將被刪除),最後提交文檔。
文件界面
在文檔界面,我們可以查看選中集合或Core的配置文件(諸如solrconfig.xml和Schema文件等)。solrconfig.xml文件定義了Solr索引內容和查詢響應的行為。Schema允許定義文檔的字段類型、定義文檔的字段以及動態字段。其他的配置文件通常都依賴於它們如何引用solrconfig.xml或Schema文件。
在此界面中不能編輯配置文件,要編輯配置文件,需要使用其他文本編輯器。
Query(查詢界面)
在查詢界面可以提交一個查詢請求到Solr集合(或者Core),並且分析結果。在下圖的示例中,已經提交了一個默認的查詢,右側部分顯示的是查詢結果。右側頂部展示完整的查詢http請求(可以在其它編程語言中使用該請求完成跨平台的查詢)。
查詢界面有很多的查詢字段或參數。如下表:
字段
描述
Request-handler(qt)
為請求指定查詢處理器(query handler)。如果為指定查詢處理器,Solr將使用標准查詢處理器來處理響應。
q
查詢事件。詳細的查詢參數將在後面介紹。
fq
過濾查詢。
sort
對查詢結果按照正序或者倒序排列,排序依據響應的分數或者指定的字符。
start,rows
start是查詢結果的偏移量,默認是0,意味著會從第一個查詢到的結果返回。rows指示返回結果的行的數量。
fl
定義結果文檔的字段。可以顯示的指定字段,默認情況下返回所有字段。通過指定字段名的序列,以逗號(,)或空格( )分割。
wt
指定返回結果的格式(json\xml\python\ruby\php\csv)。
indent
選中該選項,以表明對查詢結果進行縮進顯示。可以提高結果的可讀性。
debugQuery
選中該選項,查詢結果將增加Debug信息,包括每個文檔的Explain info。
dismax
選中該選項,Dismax查詢解析可用。
edismax
選中該選項,Extended查詢解析可用。
hl
選中該選項,高亮查詢結果。
facet
選中該選項,允許分段查詢。
spatial
選中該選項,允許使用位置數據。
spellcheck
選中該選項,啟用語法驗證。