Solrクエリを出力するSQLのようなクエリパーサーを実装しています。私は Solr/Lucene クエリがブールクエリと完全に同じではないことを知っています.MUST/MUST NOT/SHOULD. しかし、私たちの顧客のインターフェースはすでに SQL のようなものを採用しているため、SQL のようなブールクエリを自動的に解析する必要があります。
「A and B」→「A and B」のような単純な構文解析でもOKですが、「NOT(A and (B or C)) AND D」のように、SolrServerが返ってきた値とは違う値を返すと途方にくれます。意図していません。
以下を読みました
http://lucene.472066.n3.nabble.com/Unexpected-boolean-query-behavior-td487306.html
しかし、それはLuceneのようで、lucene BooleanQueryをSolrに接続する方法がわかりませんでした。誰もが良い考えを持っていますか?