我的應用程序使用Lucene.NET來索引各種文本文件。由於每個文本文件的結構都不相同,因此每個文件的全部內容都存儲在一個「內容」字段中。使用Lucene查詢部分URL
一些文本文件中包含的網址,例如:
http://domain1.co.uk/blah
http://domain2.co.ru/blahblah
等
我使用的指數代碼中的每個文件是:
Lucene.Net.Documents.Field fldContent = new Lucene.Net.Documents.Field("content", contents, Lucene.Net.Documents.Field.Store.YES, Lucene.Net.Documents.Field.Index.TOKENIZED, Lucene.Net.Documents.Field.TermVector.YES);
其中, 「內容」 是文件內容。
當查詢文件時,Lucene僅在搜索確切的域名(例如domain1.co.uk)時返回結果,並且不返回部分域名(例如domain1.co)的結果。 用來構建查詢的代碼是:
Lucene.Net.Index.Term searchTerm = new Lucene.Net.Index.Term("content", "domain1.co");
Lucene.Net.Search.Query query = new Lucene.Net.Search.TermQuery(searchTerm);
你有任何想法,爲什麼我必須尋找使用完全相同的域名?
謝謝,我寫了一個新的分析器/標記器,並添加一些字作爲詞分隔符。 – Moshe 2009-12-24 14:37:22