3

我的项目中出现以下错误:

org.apache.lucene.queryParser.ParseException:无法解析“AMERICAN EXP PROPTY CASLTY INS AND”:在第 1 行第 34 列遇到“”。期待以下之一:...“+”...“-”... . "(" ... " " ... ... ... ... "[" ... "{" ... ... ... " " ...

at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:211)
at org.elasticsearch.index.query.xcontent.QueryStringQueryParser.parse(QueryStringQueryParser.java:196)
... 15 more

请帮助解决如何解决...当我在任何字符串的末尾添加 AND 时,它会给我上述错误。

谢谢

4

2 回答 2

3

当您使用 QueryString 查询或将您的查询指定为q参数时,elasticsearch 正在使用 Lucene 来解析您的查询。因此,它希望您的查询遵循Lucene 查询语法,并在您的查询包含语法错误时返回错误(在您的情况下,在末尾悬空 AND)。如果您希望查询字符串被解释为文本而不被解析为查询,请考虑改用文本查询

于 2012-10-15T14:35:10.427 回答
0

那很好笑。Lucene 正在等待一个新术语,因为在 Lucene 中,您可以构建如下查询:“termA AND termB”或“+termA +termB”

您可以尝试将您的查询小写并查看它是否有效?

于 2012-10-15T07:48:16.773 回答