你好我对lucene搜索语法有疑问
“”是一个通配符。 当我搜索te :我找到测试,... 但是当我搜索* st时,我找不到“test:> 这是什么问题?
我有关于文本的搜索和关于文件名的其他搜索
在文件名搜索中,我使用“”+ searchstring“” 在textsearch中只是“searchstring”
当我搜索两者时我该怎么办,但文件名为“”“”
parser = New MultiFieldQueryParser(New [String]() {"title", "bodytext"}, New StandardAnalyzer())
答案 0 :(得分:1)
HMM的 http://lucene.apache.org/java/2_3_2/queryparsersyntax.html#Wildcard%20Searches - >注意:您不能使用*或?符号作为搜索的第一个字符。
我认为就是这样:/
答案 1 :(得分:1)
QueryParser中的默认设置是不允许使用前导通配符。
您可以使用QueryParser上的设置属性更改此设置 - SetAllowLeadingWildcard(true);
请注意,虽然通过这种通配符搜索可能会打开大量的点击量,但性能可能会大幅下降。
罗杰