2014-01-22 28 views
0

我正在使用格式爲txt的NSF數據。現在我已將這些數據編入索引並可發送查詢並獲得多個結果。但是,我怎樣才能在選定的字段(例如標題)中搜索某些內容?因爲所有這些NSF數據都是純粹的txt文件。我不認爲Lucene可以識別文件的哪一部分是「標題」或其他內容。我應該首先將txt文件轉換爲XML文件(標籤告訴Lucene哪部分是「標題」)? Lucene能做到這一點嗎?我不知道如何將txt文件分成幾個字段。任何人都可以請給我一些建議?非常感謝!使用Lucene,如何將TXT文件編入不同的字段?

順便說一句,每一個txt文件看起來是這樣的: ---開始--- 標題:線粒體DNA和歷史人口學 類型:獎 日期:1991年8月1日 編號:9000006 摘要:asdajsfhsjdfhsjngfdjnguwiehfrwiuefnjdnfsd - ---結束----

回答

0

您必須將文本拆分爲幾個部分。您可以使用結果字符串爲文本的每個部分(即標題)創建一個字段。

,像這樣的字段創建Lucene的文檔:

Document doc = new Document(); 
doc.add(new Field("title", titleString, Field.Store.NO, Field.Index.TOKENIZED)); 
doc.add(new Field("abstract", abstractString, Field.Store.NO, Field.Index.TOKENIZED)); 

等。 title:dna

更復雜的查詢,並在查詢中混合多個領域也可能:索引文件後,您可以在標題中這樣的搜索+title:dna +abstract:"some example text" -number:935353

相關問題