elasticsearch,Lucene,elasticsearch" /> elasticsearch,Lucene,elasticsearch" />

org.apache.lucene.queryParser.ParseException

org.apache.lucene.queryParser.ParseException,lucene,elasticsearch,Lucene,elasticsearch,我在项目中遇到以下错误: org.apache.lucene.queryParser.ParseException:无法分析“AMERICAN EXP PROPTY CASLTY INS AND”:在第1行第34列遇到“”。 我期待的是: ... "+" ... "-" ... "(" ... "" ... ... ... ... ... "[" ... "{" ... ... ... “ 当我在任何字符串末尾添加AND时,请帮助解决…问题 它给了我上面的错误 谢谢,真有趣。 Lucene正在等

我在项目中遇到以下错误:

org.apache.lucene.queryParser.ParseException:无法分析“AMERICAN EXP PROPTY CASLTY INS AND”:在第1行第34列遇到“”。 我期待的是: ... "+" ... "-" ... "(" ... "" ... ... ... ... ... "[" ... "{" ... ... ... “

当我在任何字符串末尾添加AND时,请帮助解决…问题 它给了我上面的错误

谢谢,真有趣。 Lucene正在等待一个新术语,因为在Lucene中,您可以构建诸如“termA和termB”或“+termA+termB”之类的查询


能否尝试将查询小写并查看其是否有效?

当您使用QueryString query或将查询指定为
q
参数时,elasticsearch正在使用Lucene解析您的查询。因此,当您的查询包含语法错误时,它希望您的查询跟随并返回错误(在你的情况下,悬挂在最后)如果您希望查询字符串被解释为文本而不是解析为查询,请考虑使用。

看起来像是错过了某个字符,您需要共享您的查询,非常感谢您的答复。是的,我试图把它变成小写,如果是字符串的第一个或最后一个,它工作了,但有一个。如果字符串有两个或多个连续的AND,则会出现更多问题…我收到解析异常错误,我可以删除重复的连续项,但我不想这样做…是否有其他方法可以保持字符串不变而不出错..请提供帮助..提前感谢我不明白AND是否是常见的用例(或多个AND)在搜索查询的末尾。它是您的用例的保留字吗?好的。我刚刚将AND的所有出现在字符串中改为小写(AND),它现在正在工作..实际上我有一个程序,我在其中使用查询搜索给定字符串..并且输入字符串可以是任何内容..因此只要确保在一个字符串中有多个连续的and时不会发生错误。我使用的是QueryStringQueryBuilder querystring=new QueryStringQueryBuilder(数据);//data=AMERICAN EXP PROPTY CASLTY INS,您能通过代码再解释一下吗……因为我对所有这些都很陌生……并且非常需要关于这些的任何帮助……谢谢。在java API中,它看起来像这个MatchQueryBuilder matchPhase=new MatchQueryBuilder(“_all”,data)。type(MatchQueryBuilder.type.PHRASE)
at org.apache.lucene.queryParser.QueryParser.parse(QueryParser.java:211)
at org.elasticsearch.index.query.xcontent.QueryStringQueryParser.parse(QueryStringQueryParser.java:196)
... 15 more