我的应用程序使用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