Проблема с полнотекстовым поиском

Yura

Новичок
Проблема с полнотекстовым поиском

Есть 2 таблицы article с полями id, name и др. и paragraph с полями id, name, id_article
Нужно вывести все названия статей (article.name), в тексте которых встречается слово, заданное в поиске. В article содержатся только название (name) статьи и дополнительная информация (для поиска она не нужна). А сам текст статьи - в виде отдельных параграфов в табл. paragraph

для поля name таблицы paragraph - fulltext


запрос
$query = "SELECT article.name AS art_name, article.id, paragraph.id, paragraph.id_article, paragraph.name FROM article
LEFT JOIN paragraph ON article.id=paragraph.id_article
WHERE MATCH (paragraph.name) AGAINST ('$sword')";

выдает, что не найдено ничего


А следующий запрос дает 6 результатов поиска.

$query = "SELECT article.name AS art_name, article.id, paragraph.id, paragraph.id_article FROM article
LEFT JOIN paragraph ON article.id=paragraph.id_article
WHERE paragraph.name LIKE '%".$sword."%' GROUP BY article.id";


Подскажите, пожалуйста, что я не правильно сделал в 1-м запросе
 

Армян

Новичок
что в $sword ? у полнотекстового поиска есть несколько особенностей, при которых результат может быть пустой
 

nirex

Новичок
Для разбивки текста на слова MySQL использует очень простой синтаксический анализатор. ``Словом'' является любая последовательность символов, состоящая из букв, чисел, знаков `'' и `_'. Любое ``слово'', присутствующее в стоп-списке (stopword) или просто слишком короткое (3 символа или меньше), игнорируется.


http://www.mysql.ru/docs/man/Fulltext_Search.html
 

Армян

Новичок
+ Если искомое слово есть в более чем 50% записей, то результат будет пустой. Вобщем читаем ссылку выше
 

Yura

Новичок
Если через MATCH AGAINST:
Поиск по "наук" - 5 результатов, по "наука" - 6 результатов
феномен - 6 результатов, феном - 0 результатов.
А должно и по части слова корректно искать


Через LIKE '%".$sword."%':
феном - 4 результата
феномен - 4 результата
наук - 14 результатов
наука - 5 результатов
 
Сверху