solr管理界面详解
原文地址:http://blog.csdn.net/zcl_love_wx/article/details/52092098
solr 服務器管理界面可以查看系統狀態、solr設置、分詞檢測、查詢索引、增減core、查看日志等
1.Dashboard(儀表盤)
訪問http://localhost:8080/solr時,出現該主頁面,可查看到solr運行時間、solr版本,系統內存、虛擬機內存的使用情況2.Logging(日志)
顯示solr運行出現的異常或錯誤3.Core Admin (core管理)
主要有Add Core(添加核心), Unload(卸載核心),Rename(重命名核心),Reload(重新加載核心),Optimize(優化索引庫)
Add Core是添加core:主要是在instanceDir對應的文件夾里生成一個core.properties文件
name:給core起的名字;
instanceDir:與我們在配置solr到tomcat里時的solr_home里新建的core文件夾名一致;
dataDir:確認Add Core時,會在new_core目錄下生成名為data的文件夾
config:new_core下的conf下的config配置文件(solrconfig.xml)
schema: new_core下的conf下的schema文件(schema.xml)
確認Add Core時,會在new_core下生成data文件夾,與core.properties文件。core.properties文件里內容如下:
4.Java Properties
可查看到java相關的一些屬性的信息
5. Core Selecter(core選擇器)
需要在Core Admin里添加了core后才有可選項,這里以已經添加好的ims_advertiser_core為例。
5.1 overview(概覽)
包含基本統計如當前文檔數;和實例信息如當前核心的配置目錄;
5.2 Analysis(分析)
檢驗分詞效果,如圖,我們對companyName字段進行了分詞 ( 至于哪些字段能分詞,取決于在schema.xml文件里配置該字段時的type是否為配置的分詞器類型text_ik)
<field name="companyName" type="text_ik" indexed="false" stored="true" multiValued="false" /> //這里的text_ik就是下面name屬性的值 <!-- 配置IK分詞器start --><fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100"><analyzer type="index"><tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" isMaxWordLength="false"/><filter class="solr.LowerCaseFilterFactory"/></analyzer><analyzer type="query"><tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" isMaxWordLength="false"/><filter class="solr.LowerCaseFilterFactory"/></analyzer></fieldType>這里的高亮就是背景色是灰色
5.3 Dataimport(從數據庫導入數據)
前提是已經配置好了相關的配置,詳情參見:Solr從數據庫導入數據
Comman選項:full_import:全導入;delta_import:增量導入。
所謂delta-import主要是對于數據庫(也可能是文件等等)中增加或者被修改的字段進行導入。主要原理是利用率每次我們進行import的時候在solr.home\conf下面生成的dataimport.properties文件,此文件里面有最近一次導入的相關信息。這個文件如下:
#Tue Jul 19 10:15:50 CST 2016
advertiser.last_index_time=2016-07-19 10:15:49
last_index_time=2016-07-19 10:15:49
其實last_index_time是最近一次索引(full-import或者delta-import)的時間。
通過比較這個時間和我們數據庫表中的timestamp列即可得出哪些是之后修改或者添加的。
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,說明未導入。
5.4 Documents
Documents (索引文檔)索引的相關操作,如:增加,修改,刪除等,例如我們要增加一個索引(companyName)的辦法:
a. 先要在solr 的D:\solr_home\mycore1\conf 的 schema.xml配置文件下,增加相關的字段field
否則會出現如下錯誤:
Status: error Error: Bad Request Error: {"responseHeader": {"status": 400,"QTime": 1},"error": {"msg": "ERROR: [doc=126] unknown field 'companyName'","code": 400} }b. 在如下頁面,選擇/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: 好像是什么版本,沒用過
5.5 Files文件夾
solr_home下的core下的conf下的相關文件,可單擊查看里面的內容.
5.6 Query(查詢頁面),查詢的結果要顯示哪個字段,就得將schema.xml文件配置字段時的stored屬性設為true.
查詢索引的文檔,包含是否存在,排序是否正確等
進入該頁面后,直接點擊Execute Query時,在右側會生查回數據:
Request-Handler(qt):
q: 查詢字符串(必須的)。*:*表示查詢所有;keyword:東看 表示按關鍵字“東看”查詢
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: 拼寫檢查。
總結
以上是生活随笔為你收集整理的solr管理界面详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 知识网址收集
- 下一篇: Java消息中间件(activeMQ)