私はravendb
のpythonクライアントで奇妙な解析の問題に気付きました。 私は、エラー・スタックのurl = "http://www.mywebsite.net/"
pyravendbクエリパラメータの解析エラー
relevent一部は以下であることを知って、このクエリ
query_result = list(session.query().where_equals("url",url).select("Id","htmlCode","url"))
を使用します。私は単にurlパラメータにシンプル' '
を追加する場合
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/' --->
BUTクエリでは、構文解析エラーなしで動作します(しかし、構文は同じではないので、dosentは結果を返します)。
githubでpyravendb
に貢献したいと思いますが、パラメータの解析場所はわかりませんが、おそらくlucene
が呼び出されています。
シンプルなスペースが適切な解析を妨げる理由は何ですか?
で修正される予定
を(あなたがwhere_inメソッドを使用するときに我々が構築するものをクエリ見ることができます)。私は次のpyravendbがpipにプッシュされるまで一時的な修正として使用します:) Ravenの "バグ"を修正するのに役立ちます。ありがとうございました ! – Neil
私はそれを修正してpyravendbを更新することができます。 エスケープ処理を削除することを忘れないでください –