2011-09-14 87 views
0

我想索引一組包含半結構化數據的文檔,通常是鍵值對,如@author Joe Bloggs。這些關鍵字應該作爲可單獨查詢的文檔的可搜索屬性提供。索引半結構化數據

我一直在尋找Lucene,我可以在我感興趣的文檔上構建一個索引,但我不確定如何最好地繼續下一步的關鍵字提取。

在Lucene或其他索引系統中執行此操作是否有一種常見方法?我希望能夠使用典型的單詞搜索功能搜索文檔,因爲我已經可以了,所以想要的不僅僅是自定義正則表達式提取。

任何幫助將不勝感激。

尼爾

回答

1

我寫了使用Lucene源代碼搜索引擎,我的學士論文的一部分。其中一個關鍵特徵是源代碼被視爲結構化信息,因此應該可以像這樣搜索,也就是說,按照上述的屬性搜索。

Here你可以找到更多關於這個項目的信息。如果這對你有很大的幫助,我可以總結一下:

  • 我爲所有應該可搜索的屬性創建了單獨的搜索字段。在我的情況下,例如'方法名稱'或'評論'或'班級名稱'。
  • 將這些字段的內容重疊可能是有利的,但是這會炸燬您的數據庫索引(但僅在可搜索字段中出現冗餘數據時纔會線性)。
+0

如果你想知道一些更具體的問題,只要問,我會盡力幫助,如果我可以。 – fgysin

+0

Hi @fgysin,看起來像一個不錯的項目。我很想看看你使用的一些代碼。有什麼方法可以在網站上看到除虛擬機之外的其他內容嗎? – niallsco

+0

我在這裏上傳了我擁有的代碼作爲JAR:https://sites.google.com/site/fgysindata/dumb/bender-code.jar?attredirects=0&d=1 Packages ** ch.unibe。 bender.analysis **和** ch.unibe.bender.documents **應該對你最有意思。注意:我使用了一些通常不應該這樣做的* com.sun.source *類導入 - 如果導入到「內部」類,您可能已將IDE配置爲不報告錯誤。 – fgysin