【发布时间】:2012-05-05 10:09:54
【问题描述】:
我一直在尝试使用 Lucene 3.6 实现邻近搜索。我选择了SpanNearQuery,这几乎对我有用,但我的老师说QueryParser 可以以更好的方式做到这一点(它还可以使用分析器过滤查询,与SpanNearQuery 不同)。谁能告诉我查询的语法?最近几个小时我一直在互联网上搜索。 :(
【问题讨论】:
标签: lucene information-retrieval query-parser
我一直在尝试使用 Lucene 3.6 实现邻近搜索。我选择了SpanNearQuery,这几乎对我有用,但我的老师说QueryParser 可以以更好的方式做到这一点(它还可以使用分析器过滤查询,与SpanNearQuery 不同)。谁能告诉我查询的语法?最近几个小时我一直在互联网上搜索。 :(
【问题讨论】:
标签: lucene information-retrieval query-parser
【讨论】:
QueryParser queryParser= new QueryParser(Version.LUCENE_36, "myField", analyzer); Query query= queryParser.parse("word1 word2 ~1"); 它在运行时给出了关于模糊搜索的错误信息。但是如果我在字符串后面加上“~1”,我的 Eclipse 会给出语法错误。你能帮我看看语法吗?
word1 word2 ~1(不带引号),你需要写queryParser.parse("\"word1 word2\"~1")(反斜杠用于转义,以便Java不解释它们作为字符串的结尾
"\"word1 word2\"~1 AND \"word3\"~0 AND \"word4\"~0"。它可能会在未来帮助某人。 :)