Выделить совпадающие слова MySQL FULLTEXT index

Проблема с индексом MySQL FULLTEXT. Есть:

1) Таблица со словами вроде:

ID__WORDS
1___jfjdeur,rjjghfje,rioogr
2___fkjtifdfe,lerkr
3___kfrkriti
4___frlerkti,tykitriero,frorodfl,rfjkrjr
...
N___fjfjtiu,frkrker,fkdkri

2) Индекс MySQL FULLTEXT для столбца WORDS.

3) Запрос, как:

   SELECT * 
   FROM table WHERE
   match(word) against ('gjfjdeur,rioogr,tykitriero')

В результате возвращается:

ID___WORDS
1____gjfjdeur,rjjghfje,rioogr (because contains gjfjdeur and rioogr)
4____frlerkti,tykitriero,frorodfl,rfjkrjr (because contains tykitriero).

Нельзя ли переписать запрос для создания дополнительного столбца, который будет содержать найденное / совпавшее слово? Что-то вроде:

ID___WORDS______________________FOUND
1____gjfjdeur,rjjghfje,rioogr____________gjfjdeur,rioogr
4____frlerkti,tykitriero,frorodfl,rfjkrjr______tykitriero

Может быть что-то вроде:

SELECT *,some_function_to_select_matched_range(word)
FROM table WHERE
match(word) against ('gjfjdeur,rioogr,tykitriero')")

"Против" в действительности состоит из сотен слов и preg_match_all в PHP не является хорошим решением для выбора подходящих слов из каждого найденного с индексной строкой FULLTEXT.

0 ответов

Другие вопросы по тегам