私は弾性検索のような検索サーバーで作業しています。私が開発しているちょっとしたプロジェクトです。ほとんどの部品を完成させましたが、ユーザーがシステムとやりとりする方法にはまっています。Pythonを使用してクエリ言語を作成
私は最初、ユーザーが必須フィールドとその値を含むJSONクエリを送信することによってリクエストすることを決定しました。しかし、私が直面している問題は、jsonの方法でクエリを評価することはできますが、ブールクエリとCompounfステートメントを実装することはできません。実際に作成せずに、これを実現するために、やや簡単な方法はあり
は私が
index: name
schema:name
field1: value
field 2: value
ような何かをしようとしていたが、ブール式が
index : name
schema : name
field 1 : name1 or name 2
field 2: <9.22 and >=2.32
field 3: (<9.22 and >=2.32) or (<100 and >90) // compound statement.
を実装されている場合、それはまた、このような何かをすることができクエリ言語文法。もしそうなら、私はそれをどのように達成するかもしれません。
私は各フィールドの値に基づいて値を分割することを考えていましたが、複合文がある場合は機能しません。
私も同様にpyparsingをチェックしていましたが、私はそれを使用する作業方法を理解できませんでした。
[whoosh](https://bitbucket.org/mchaput/whoosh/wiki/Home)または[plyse](https://github.com/sebastiandev/plyse)をご覧ください。また、pyparsingには、[Example](http://pyparsing.wikispaces.com/Examples)ページのクエリパーサーのサンプルがいくつか含まれています。 – PaulMcG