лучший способ обработать сложный поиск MySQL и измерить, насколько хороши совпадения для каждого результата - PullRequest
5 голосов
/ 11 июля 2011

Извините за длинное название, но не могу придумать, как правильно его выразить - я сейчас работаю над большим проектом веб-приложения, и одной из основных функций является подробный поиск, не говоря уже о проект, который используется для поиска сделок, связанных с бизнесом - функция поиска в настоящее время распространяется на 3 страницы и предлагает практически все опции, которые вы хотели бы получить, если бы работали в отрасли ...

Но проблема, с которой я столкнулся сейчас, состоит в том, что много полей, и поэтому, когда дело доходит до поиска совпадений в БД, я действительно не знаю лучшего пути продвижения вперед, я не думаю, что стандартный mysql подобен Я собираюсь урезать это здесь также, мне нужно иметь возможность выяснить, насколько подходит (хорошее соответствие) каждый результат, а затем отобразить это в результатах (результат поиска 1 соответствует 90% и т. д.)

Кто-нибудь знает, как лучше всего это решить? я знаю, что есть внешние поисковые системы и т.д., но я ничего о них не знаю, чтобы сделать какой-либо логический выбор ...

Спасибо!

1 Ответ

2 голосов
/ 11 июля 2011

Поиск релевантности в поиске - сложная тема, которая имеет дело со многими параметрами. Сам поиск MySQL match () довольно сложен, как вы можете видеть здесь . Возможно, вы могли бы использовать эту оценку как показатель. Вы можете настроить до некоторой степени.

Другой вариант, как вы упомянули, заключается в использовании внешних поисковых систем, что-то вроде Solr . В нем есть все требования, которые вы ищете. Это быстрый, масштабируемый и способный предоставить варианты настройки для повышения «актуальности» для ваших конкретных потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...