[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужна помощь.
Страницы: 1, 2, 3
cycero
Нет, как раз таки 0. Но как это решается релевантность если ищешь слово, которое точно есть а оно считается нерелевантным? И как это можно обойти? Если поставить relev>=0, то снова выводит все данные.
tomash
МОжет проблема кодировок? Вы ищете на русском?

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
tomash
Поиск по слову не приводит к каким-либо результатам, если это слово присутствует более чем в половине строк. По существу, данное слово целесообразно трактовать как стоп-слово (т.е. слово с нулевой смысловой ценностью). Это наиболее приемлемое решение - запрос на естественном языке не должен возвращать каждую вторую строку из таблицы размером 1Гб.

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
tomash
В логическом режиме полнотекстового поиска поддерживаются следующие операторы:

+
Предшествующий слову знак ``плюс'' показывает, что это слово должно присутствовать в каждой возвращенной строке.
-
Предшествующий слову знак ``минус'' означает, что это слово не должно присутствовать в какой-либо возвращенной строке.
По умолчанию (если ни плюс, ни минус не указаны) данное слово является не обязательным, но содержащие его строки будут оцениваться более высоко. Это имитирует поведение команды MATCH() ... AGAINST() без модификатора IN BOOLEAN MODE.
< >
Эти два оператора используются для того, чтобы изменить вклад слова в величину релевантности, которое приписывается строке. Оператор < уменьшает этот вклад, а оператор > - увеличивает его. См. пример ниже.
( )
Круглые скобки группируют слова в подвыражения.
~
Предшествующий слову знак ``тильда'' воздействует как оператор отрицания, обуславливая негативный вклад данного слова в релевантность строки. Им отмечают нежелательные слова. Строка, содержащая такое слово, будет оценена ниже других, но не будет исключена совершенно, как в случае оператора - ``минус''.
*
Звездочка является оператором усечения. В отличие от остальных операторов, она должна добавляться в конце слова, а не в начале.
"
Фраза, заключенная в двойные кавычки, соответствует только строкам, содержащим эту фразу, написанную буквально.
Ниже приведен ряд примеров:

apple banana
находит строки, содержащие по меньшей мере одно из этих слов.
+apple +juice
... оба слова.
+apple macintosh
... слово ``apple'', но ранг строки выше, если она также содержит слово ``macintosh''.
+apple -macintosh
... слово ``apple'', но не ``macintosh''.
+apple +(>pie <strudel)
... ``apple'' и ``pie'', или ``apple'' и ``strudel'' (в любом порядке), но ранг ``apple pie'' выше, чем ``apple strudel''.
apple*
... ``apple'', ``apples'', ``applesauce'', и ``applet''.
"some words"
... ``some words of wisdom'', но не ``some noise words''.

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
cycero
Ищу на русском, но другая таблица, из которой все нормально выводится, тоже на русском и кодировка та же. Но даже если искать не слова, а например цыфры, которые тоже точно есть в таблице - тоже ничего не выводит.

Цитата
Поиск по слову не приводит к каким-либо результатам, если это слово присутствует более чем в половине строк. По существу, данное слово целесообразно трактовать как стоп-слово (т.е. слово с нулевой смысловой ценностью). Это наиболее приемлемое решение - запрос на естественном языке не должен возвращать каждую вторую строку из таблицы размером 1Гб.


С этим знаком. Слово, которое я ищу, является уникальным в записях данной таблицы.
tomash
А скрипт точно пихает в базу то что нужно? Вы проверяли?

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
cycero
Да, все правильно в базе.
tomash
Цитата (cycero @ 24.06.2010 - 20:45)
Да, все правильно в базе.

Не в базе, скрипт формирует правильный запрос??

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
cycero
Да все верно, проверял уже не раз. Та же самая формулировка правильно выводит из другой таблицы, но не выводит из этой. Наверное что то в этой самой таблице. Попробуй создать новую, посмотрим. Спасибо за помощь. Отпишусь когда начнет работать.
tomash
cycero
Может ошибка в значении переменной. Или в обеих таблицах записи совпадают?

_____________
Чтобы понять, что такое рекурсия - нужно понять, что такое рекурсия.
cycero
Ну все. Удалил эту таблицу, создал новую, добавил FULLTEXT и поиск производится успешно. Причина так и осталась тайной. С таблицой вроде все было нормально. Спасибо за помощь и удачи!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.