Я пишу пользовательскую страницу поиска, которая позволит людям искать художественные работы, но я хочу, чтобы пользователи могли вводить пользовательские команды / теги в поле поиска, чтобы позволить им иметь прямой контроль над фильтрацией своих результатов, не используя ничего но окно поиска. Позвольте мне привести пример ...
Я хочу, чтобы пользователь мог напечатать что-то вроде следующего в текстовое поле:
Textbox Input: color=red|blue|green value>=5.00+<=10.00
Что преобразовало бы в следующий SQL, который я мог бы привязать к концу моего SQL-запроса:
AND (Artwork.Color = 'red' OR Artwork.Color = 'blue' OR Artwork.Color = 'green')
AND (Artwork.Price >= 50.00 AND Artwork.Price <= 100.00)
Что вы думаете о ...
1) Разрешить людям вводить эти пользовательские команды в текстовое поле и преобразовывать эти команды в SQL, это нормальная практика? Если нет, то как еще можно разрешить передачу расширенных параметров поиска при сохранении простоты страницы?
2) Лучший способ преобразовать эти пользовательские команды в SQL, как преобразовать неизвестное количество фильтров, разделенных потенциально несколькими операторами (+, |)?
Это веб-проект, построенный с использованием ASP.NET (C #) и MSSQL. Заранее спасибо! :)