在我的網絡應用程序中,我想讓我的用戶搜索特定的文章。解析用戶提交的搜索查詢
我需要支持以下運算符:
AND
OR
NOT
()
" "
搜索查詢可能是這樣的:
aaa AND bbb AND (ccc or ddd) NOT "eee fff"
如果可能的話,像通配符和*
應?
太支持。
如果可能,我很想結束Linq表達式,這將允許我查詢EF,ElasticLINQ或Linq2SQL。
你知道有哪些項目可以讓我以一種簡單的方式完成這個任務嗎?
我一直在看Irony和Antlr,但他們看起來像這樣的矯枉過正。
任何想法?
編輯:
如果您有任何建議,我怎麼能這個節目我自己,我會非常有興趣了。但以前一定有人在這個位置上。
用戶是否必須編寫'AND','OR',...?他們是程序員嗎?你有沒有過度工程?你意識到你還需要做一些語法檢查('AND AND AND AND(OR OR OR)NOT NOT')不要看到任何簡單的解決方案。如果你真的需要做這樣的搜索功能,不需要用戶寫任何東西(特別是如果他不是程序員),讓他點擊,選擇,拖動,放下,但不寫入搜索查詢。 –
感謝您的評論。輸入查詢的人是網站的管理員,並熟悉語法。 –
我同意這幾乎肯定是過度工程。這樣做的目的是使用高級查找不支持的語法來查找文章,還是試圖讓非CRM用戶訪問文章? – Zach