Расширенный поиск записей MySQL - PullRequest
0 голосов
/ 29 сентября 2010

У меня есть база данных персонала 10000 человек.Я разрабатываю PHP CMS для управления и поиска этих людей.

Одна из жалоб на старую систему заключалась в том, что вам приходилось искать имена по их точному написанию, иначе результаты не вернутся.

В старой системе использовались операторы MySQL LIKE, которые слишком точны (и я не хочу обременять своих пользователей объяснениями о том, как использовать подстановочные знаки)

Я слышал о таких системах, как Sphinx и Solr -они впечатляющие и очень надежные, но в идеале я бы хотел избежать необходимости устанавливать дополнительное программное обеспечение на сервере, так как при этом требуется много настроек (или, если это так, чем проще, тем лучше)

Какая система будетВы предполагаете, что обеспечивает "более умную" интерпретацию ключевого слова (прежде всего соответствие близко написанных слов)?

Ответы [ 2 ]

2 голосов
/ 29 сентября 2010

Вы можете посмотреть, выполняет ли mySQL SOUNDEX() / SOUNDS LIKE работу за вас. Если этого не произойдет, вам действительно может понадобиться внешняя поисковая система, подобная той, которую вы упомянули.

Но сначала обязательно ознакомьтесь с функциями полнотекстового поиска mySQL. Они не очень гибки в отношении введенных ключевых слов, но предлагают множество дополнительных функций, таких как логический поиск +Miller -Peter из коробки. Может быть, это уже может помочь ситуации вашего клиента.

0 голосов
/ 29 сентября 2010

Solr действительно отличный вариант для вас.Он не только обеспечивает поддержку soundex , но и поддерживает язык и множество других функций, которые вы можете использовать в будущем.Кроме того, размещение по отдельности позволяет масштабировать поисковый трафик отдельно от трафика базы данных.

Если системное администрирование не для вас, вы можете рассмотреть размещение службы, например Websolr (полное раскрытие)Я являюсь одним из его соучредителей), который был создан именно для того, чтобы предоставлять все функции поиска Solr для разработчиков, которые не имеют опыта или желания настраивать, отслеживать и настраивать сам Solr.

...