Добрый день!
Сразу пример:
1) Запрос - "мама мыла раму"
2) Условие - длина найденной фразы не должны превышать 7 слов.
Нужен результат:
'...
мама мыла раму..' //Длина 3 слова от первого нужного слова, до последнего.
'...
мама и папа
мыли раму...' //5 слов
'...
мама с братом
мыли оконную
раму...'// 6
НЕ должны найтись тексты с такими содержанием:
'
Мама любит сына, хоть он не
моет раму' //8 слов
'
Маме подарили замечательную
раму, но она её не
моет' //9 слов
Как это можно сделать? Куда копать, в сторону настройки индексации, или запроса?
P.S.
Принимаю к рассмотрению альтернативные поисковые движки, а также костыли. Время работы поиска не критично т.к. это фоновая задача.
P.P.S.
Придумал ужасный костыль:
1) Получаем сниппеты с "подсветкой" вхождений (
sauron.org.ua/post/1113).
2) Считаем кол-во слов от первого подсвеченного слова, до последнего.
3) Фильтруем