2009-10-18 227 views
5

我有一个lucene索引我试图做一个通配符搜索。 在指数我有一个像 '234Test2343' 我试图做类似%测试%的搜索字符..Lucene.Net TermQuery通配符搜索

我的Lucene的语法看起来像

string catalogNumber="test"; 
Term searchTerm = new Term("FIELD", "*"+catalogNumber+"*"); 
Query query = new TermQuery(searchTerm); 

我没有得到结果返回。有什么想法吗?

感谢

回答

7

可以使用WildCardQuery。 TermQuery将查找字面星号,而不是通配符。请注意,WildCardQuery的性能通常非常低,在使用两张通配符时可能会更加如此。

+0

看起来像它让我回到前100名的结果?有没有办法获得超过100个结果? – bkhanal 2009-10-20 07:58:14

+0

您能否将搜索命令添加到上面的代码片段中? 这样我可以回答点击次数问题。 – 2009-10-20 09:35:55

+0

@YuvalF链接已停用 – 2012-07-20 22:35:13