Подскажите как организовать поиск по сообщениям форума с сортировкой по релевантности или дате и т.д. Если использовать MATCH-AGAINST, то там есть ряд ограничений: 1) длина ключевого слова > 3 (при стандартных настройках, не самое страшное); 2) слово не должно встречаться в половине записей. А как все это обойти и есть же уже 100% решения, например на этом сайте. еще если использовать IN BOOLEAN, то результат не сортируется по релевантности
Здравствуйте, value2006, Вы писали:
V>Подскажите как организовать поиск по сообщениям форума с сортировкой по релевантности или дате и т.д. Если использовать MATCH-AGAINST, то там есть ряд ограничений: 1) длина ключевого слова > 3 (при стандартных настройках, не самое страшное); 2) слово не должно встречаться в половине записей. А как все это обойти и есть же уже 100% решения, например на этом сайте. еще если использовать IN BOOLEAN, то результат не сортируется по релевантности
Ограничения в MySQL не придуманы "от балды". Скажите, зачем вам результаты поиска по форуму, содержащему 100 000 записей, если результаты содержат более 50 000 записей? Что вы с ними будете делать?
Готовые решения для полнотекстового поиска действительно есть, и их много. Однако, готовых решений с поддержкой русской морфологии значительно меньше. То, которое используется на RSDN называется (кажется) Meta и стоит от $300 за лицензию. Есть дорогие "корпоративные" поисковики от Yandex и Google. Есть бесплатный MnogoSearch. Ели поискать, наверное найдутся и какие-то другие альтернативы. Выбирайте.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Какая странная планета! — подумал Маленький принц. — Совсем сухая,
вся в иглах и соленая. И у людей не хватает воображения. Они только
повторяют то, что им скажешь...
Например, пользователь введет предлог, то теоретически этот предлог может содержаться в 50000 из 100000. А пока БД заполняется это еще вероятнее.