キーワードと演算子のブール検索文字列を解析して、C#コードから実行するSQLクエリにする必要があります。このタスクに必要なのはANTLRのようなものだと思いますが、その方法がわかりません。
これを行う方法についての良いチュートリアルはありますか?または、別のツールが必要ですか?
私が言っていることの例を以下に示します。必要な演算子はANDとORだけです。かっこも使えるようにしたいと思います。
入力式:(青と緑)または黄色
出力:
SELECT * FROM table WHERE(CONTAINS(Description、 "blue")AND CONTAINS(Description、 "green"))OR> CONTAINS(Description、 "yellow"
可能であれば、暗黙的なAND挿入もサポートしたいと思います。したがって、何も指定されていない場合のデフォルトの演算子はANDです。
入力:緑(青または黄色)
出力:SELECT *FROMテーブルWHERECONTAINS(Description、 "green")AND(CONTAINS(Description、 "blue")OR> CONTAINS(Description、 "yellow"))