2016-02-03 1 views
0

С помощью простого регулярного выражения:Есть ли способ для тиражирования выражения регулярного выражения с помощью запроса sphinx?

Status: (.*?),(.*?)\s 

можно легко извлечь "Обновление" и "In-Прогресс" из

Status: In-Progress,Updated 

см https://regex101.com/r/mV7gF5/1

Я пытаюсь сделать что-то подобное с Сфинкса так как он намного быстрее. Есть ли способ сделать это с SphinxQL? Я даже не возражаю, если это требует пост-обработки, но я не могу для жизни меня выяснить sphinxQL, поскольку это кажется гораздо более буквальным.

ответ

0

Ну, сфинкс может предоставить вам список документов, содержащих слово «Статус», и даже те, которые содержат Status: .*,.*, если бы было добавлено: и, в charset_table.

Но он не может выполнять какое-либо извлечение термина, необходимо будет обработать эти документы (и, вероятно, выполнить регулярное выражение против них!). Ближайшим был бы CALL SNIPPETS, какой тип текста соответствует, но он не имеет синтаксиса regex.