1. 程式人生 > >使用Luke Lucene進行索引

使用Luke Lucene進行索引

目錄

  1. luke 簡介
  2. luke下載及安裝
  3. luke 使用
  • 開啟luke
  • Overview選項卡
  • Documents選項卡
  • search選項卡
  • Commits選項卡
  • Plugins選項卡
  • 匯出索引為XML
  • 檢查索引正確性
  1. 總結

1. luke 簡介

luke###

是一個用於Lucene/Solr/Elasticsearch 搜尋引擎的,方便開發和診斷的 GUI(視覺化)工具。它有以下功能:

  • 檢視文件並分析其內容(用於儲存欄位)
  • 在索引中搜索
  • 執行索引維護:索引執行狀況檢查;索引優化(執行前需要備份)
  • hdfs讀取索引
  • 將索引或其部分匯出為XML格式
  • 測試定製的Lucene分析工具
  • 建立自己的外掛

根據索引搜尋的流程

來源:[Lucene(使用 Luke 檢視索引) ](https://hacpai.com/article/1472637616329?m=0)

2. luke 下載及安裝


最新版本是 luke - 6.5.0,釋出於2017年5月。
luke - 6.5.0 - luke - release.zip包含luke的可執行檔案和打包好的jar包,可以通過雙擊luke.bat/luke.sh直接執行在Windows/Mac平臺開啟視覺化介面。
Source code包含luke的Maven專案的原始碼。

由於 luke 的相容性不太好,不同版本的 Lucene 生成的索引要使用對應版本的luke 進行分析,如果版本過低會導致無法正確解析索引。

3. luke 使用

開啟luke

在Windows系統下,雙擊開啟luke.bat,啟動Luke。選擇需要處理的索引位置,點選OK匯入索引。

選擇需要處理的索引位置

這些是我從solr中拿到的索引檔案

Lucene索引檔案

Overview選項卡

匯入成功

圖中,1處顯示了統計結果,有1000個Document,17個Field,一共有17807個分詞
2處統計了所有的Field,每個Field所包含的分詞個數,百分比和編碼格式。
3處是索引的詳細資訊,統計了每個分詞出現的詞頻,以及對應的Field名字。

Documents選項卡

document選項卡用於文件的增刪查改,下方的表格就像資料表一樣,為我們展示每一個檔案的具體資料,我們可以根據文件編號來查詢檔案。

Document

點選Add按鈕新增Document;點選Recoonstruct&Edit來更改當前Document的值與屬性。

修改document內容


在這裡可以檢視所選擇的field的值。這裡也可以相當於搜尋功能。

選擇要檢視的field的值

Search選項卡

在這個介面可以進行索引的搜尋測試,構造lucene的搜尋語句,選擇匹配的field欄位,並執行查詢。也可以選擇進行索引的分詞器,設定預設欄位和重複搜尋次數,設定限制查詢時間及匹配個數、是否可以模糊匹配、選取哪種相似度的匹配模式、是否選用XML Query模式,還可以檢視查詢花費的時間等。

Commits選項卡

Comments選項卡用於檢視每個索引檔案的大小及相關屬性,用於分析索引檔案是否需要優化及合併等。

comments選項卡

Plugins選項卡

這個頁面是luke提供的各種外掛,其中,Analyser Tool提供了一些分詞的類,如圖為luke分詞的一個示例。Hadoop外掛支援Hadoop( 0.20.1)的任何檔案系統開啟索引。

Scripting Luke提供了一個JavaScript的互動式Shell,可以在help檢視具體使用方法。

Scripting Luke


Custom Similarity用於設計自定義相似性的外掛

Custom Similarity


Vocabulary Analysisi Tool是一個表示索引詞彙增長的工具。


Zipf distribution是用於顯示術語流行度發行的工具

匯出索引為xml

Tools->export Index to XML將索引匯出為xml格式。

index匯出為xml


基本資訊

<?xml version='1.0' encoding='UTF-8'?>
<index>
<info>
 <indexPath>F:\luke\testjson\index</indexPath>
 <fields count='17'>
  <field name='_key'/>
  <field name='_text_'/>
  <field name='_type'/>
  <field name='_version_'/>
  <field name='id'/>
  <field name='img'/>
  <field name='level'/>
  <field name='location'/>
  <field name='materials'/>
  <field name='measurement_size'/>
  <field name='measurement_volumne'/>
  <field name='museum_name'/>
  <field name='name'/>
  <field name='number_museum'/>
  <field name='number_system'/>
  <field name='productionDynasty'/>
  <field name='propertyType'/>
 </fields>
 <numDocs>1000</numDocs>
 <maxDoc>1000</maxDoc>
 <numDeletedDocs>0</numDeletedDocs>
 <numTerms>17807</numTerms>
 <hasDeletions>false</hasDeletions>
 <lastModified>N/A</lastModified>
 <indexVersion>6</indexVersion>
 <indexFormat>
  <genericName>Lucene 5.3 or later</genericName>
  <capabilities>flexible, codec-specific</capabilities>
 </indexFormat>
<directoryImpl>org.apache.lucene.store.SimpleFSDirectory</directoryImpl>

部分索引內容

<field name='level' flags='Id----S-------Dsrtset----'>
<val>一級</val>
</field>
<field name='location' flags='Id----S-------Dsrtset----'>
<val>甘肅省張掖市肅南裕固族自治縣</val>
</field>
<field name='materials' flags='Id----S-------Dsrtset----'>
<val>絲</val>
</field>
<field name='measurement_size' flags='Id----S-------Dsrtset----'>
<val>肩寬1.4,腰圍寬1.5</val>
</field>
<field name='museum_name' flags='Id----S-------Dsrtset----'>
<val>肅南縣民族博物館</val>
</field>
<field name='name' flags='Id----S-------Dsrtset----'>
<val>乾隆御賜黃龍袍</val>
</field>
<field name='number_museum' flags='Id----S---#i64Dsrtset----'>
<val>62072121800001</val>
</field>
<field name='number_system' flags='Id----S---#i64Dsrtset----'>
<val>9223372036854775807</val>
</field>
<field name='productionDynasty' flags='Id----S-------Dsrtset----'>
<val>清(1616~1911)</val>
</field>

檢查索引正確性

Tools->check Index Tool進行索引檢查

4. 總結

通過使用luke 對索引進行分析,我對索引有了更加深刻的理解和認識。luke的功能很全面。對於索引檔案方面,我們可以通過使用luke檢查索引的正確性,分析索引檔案並進行修改和優化,將索引檔案轉換為易於閱讀的XML格式,並且更直觀地看到我們的documents;對於分詞方面,luke可以載入分詞包進行分詞,進行詞頻統計及詞彙增長統計,以及術語流行度統計等;對於搜尋引擎,我們在構造查詢語句之前,可以先使用luke進行查詢語句校驗,分析查詢效率,更好地進行查詢優化,這些對於設計一個更優秀的搜尋引擎是很有必要的。
參考連結:
http://www.kailing.pub/article/index/arcid/74.html
Luke:Lucene索引檢視工具



作者:㭍葉
連結:https://www.jianshu.com/p/d9b24259daa8
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。