Регулярные выражения позволяют использовать синтаксис соответствия шаблонов, показанный ниже. Я пытаюсь реализовать мощный инструмент поиска, который реализует как можно больше из них. Мне говорят, что edismax - самый гибкий инструмент для работы. Какие из приведенных ниже шаблонов соответствия шаблонов можно выполнить с помощью edismax? Могу ли я сделать лучше, чем просветление? Можете ли вы предложить, какие фильтры и патчи для парсеров я могу использовать для достижения этой функции? Мне снится, если я думаю, что Solr может достичь приемлемой производительности (то есть времени обработки на стороне сервера) таких видов поиска?
синтаксис регулярных выражений и примеры из mysql
- ^ соответствует началу строки.
'fofo' REGEXP '^fo' => true
- $совпадение конца строки.
'fo\no' REGEXP '^fo\no$' => true
- * 0-неограниченный шаблон.
'Baaaan' REGEXP 'Ba*n' => true
- ? 0-1.
'Baan' REGEXP '^Ba?n => false'
- + 1-неограниченный шаблон.
'Bn' REGEXP 'Ba+n' => false
- | или.
'pi' REGEXP 'pi|apa' => true
- () * соответствие последовательности.
'pipi' REGEXP '^(pi)*$' => true
- [a-dX], [^ a-dX] диапазон символов/набор
'aXbc' REGEXP '[a-dXYZ]' => true
- {n} или {m, n} нотация мощности
'abcde' REGEXP 'a[bcd]{3}e' => true
- [: character_class:]
'justalnums' REGEXP '[[:alnum:]]+' => true