solr 的admin.html 詳細使用講解

solr管理界面詳解

標籤: solrsolr管理界面solrqueryanalysis
5117人閱讀 評論(0)收藏舉報
本文章已收錄於:
分類:

原文地址: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屬性的值
  • 1
  • 2
  • 1
  • 2
 <!-- 配置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> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

這裏的高亮就是背景色是灰色
這裏寫圖片描述

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

<field name="companyName" type="text_ik" indexed="false" stored="true" multiValued="false" />
  • 1
  • 1

否則會出現如下錯誤:

Status: error
Error: Bad Request
Error:
{
  "responseHeader": {
    "status": 400,
    "QTime": 1
  },
  "error": {
    "msg": "ERROR: [doc=126] unknown field 'companyName'",
    "code": 400
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

6
1

更多資料請參考:
猜你在找
深度學習基礎與TensorFlow實踐【在線峯會】前端開發重點難點技術剖析與創新實踐【在線峯會】一天掌握物聯網全棧開發之道【在線峯會】如何高質高效的進行Android技術開發機器學習40天精英計劃Python數據挖掘與分析速成班微信小程序開發實戰JFinal極速開發企業實戰備戰2017軟考 系統集成項目管理工程師 學習套餐Python大型網絡爬蟲項目開發實戰(全套)
查看評論

  暫無評論

發表評論
  • 用 戶 名:
  • qq_37300675
  •   
* 以上用戶言論只代表其個人觀點,不代表CSDN網站的觀點或立場
快速回復TOP
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章