【发布时间】:2017-02-27 13:11:57
【问题描述】:
我注意到ravendb 的python 客户端存在一个奇怪的解析问题。
当我使用这个查询时
query_result = list(session.query().where_equals("url",url).select("Id","htmlCode","url"))
知道url = "http://www.mywebsite.net/"
错误堆栈的相关部分如下:
File "/usr/local/lib/python3.5/dist-packages/pyravendb/store/session_query.py", line 71, in __iter__
return self._execute_query().__iter__()
File "/usr/local/lib/python3.5/dist-packages/pyravendb/store/session_query.py", line 307, in _execute_query
includes=self.includes)
File "/usr/local/lib/python3.5/dist-packages/pyravendb/d_commands/database_commands.py", line 286, in query
raise exceptions.ErrorResponseException(response["Error"][:100])
pyravendb.custom_exceptions.exceptions.ErrorResponseException: Lucene.Net.QueryParsers.ParseException: Could not parse: 'url:http://www.mywebsite.net/' --->
但是,如果我只是在查询中的 url 参数中添加一个简单的' ',它就可以正常工作而不会出现任何解析错误(但由于语法不一样,但 dosent 会返回结果)。
我想为 github 上的 pyravendb 做出贡献,但我不确定它在哪里解析参数,它可能为此调用 lucene。
知道为什么简单的空格会妨碍正确解析吗?
【问题讨论】:
标签: python linux lucene ravendb