Как говорится в заголовке, мне нужен поисковый движок … для поиска mysql. Мой сайт основан на PHP.
Я собирался с sphinx, но моя хостинговая компания не поддерживает полнотекстовые индексы!
Таким образом, поисковая система будет использоваться без полнотекстового поиска!
Он должен быть довольно мощным и должен включать, по крайней мере, следующие функции ниже:
При поиске «bmw 520» будут совпадать только те слова, в которых эти два слова входят именно в этот порядок. не соответствует только «bmw» или только «520».
При поиске результатов «bmw 330ci», как указано выше, будет возвращено, но WITH WITH WITHOUT без расширения ci. Есть несколько расширений в автомобилях, как вы все знаете (i, ci, si, fi и т. Д.).
Я хочу, чтобы знак «минус» «исключил» все возвращаемые значения, содержащие слово после знака, например: «bmw -330» вернет все результаты «bmw» без «330». (НЕ вместо знака минус тоже нормально)
все специальные акценты характера, такие как «é», преобразуются в их простые значения, в данном случае «e».
список слов для полного игнорирования в поиске
Спасибо, парни!
Поиск Zend_Lucene компетентный работает достаточно хорошо. Я не уверен, как он справится с вашим вторым требованием, однако, если вы настроили токены, вы сможете это сделать, рассматривая изменение от букв к цифрам как новое слово.
Тот, на котором я действительно не уверен, является главным требованием. Учитывая, как он индексируется, порядок становится непочтительным в поиске, поэтому вы не сможете этого сделать без тяжелого редактирования Lucene, написав фильтр (используя lucene, чтобы потянуть спички, затем проверить порядок) или написать собственное решение , Все это замедлит поиск вниз и добавит нагрузку на ваш сервер.
Существует также solr , но я никогда не использовал его и ничего не знаю об этом. Сфинкс был другим, но я вижу, вы уже это постановили.
Xapian очень хорош (очень всеобъемлющий), если у вас есть время для начальной настройки.
Он функционирует так, как вы ожидали бы, что поисковая система будет работать, сообщите индексу, какие биты информации будут индексироваться под каким пространством имен / таблицей / объектом (страница, профиль, продукты и т. Д.), Затем выдаст запрос для ваших пользователей на основе ключевых слов, а также поддерживает теги стиля google, например, «profile: Mark icecream» будет искать мой профиль для слова icecream, я, похоже, помню его, поддерживая диапазоны также для данных, которые вы указываете как числовые.
Может использоваться в локальном режиме, который может предлагать модификации правописания (вы имели в виду?) Или удаленный режим, который многие сайты могут индексировать и запрашивать.
То, что действительно спасло меня однажды, – это возможность прикреплять временные небезопасные данные к индексированному элементу, например, прикреплять идентификатор БД ко всем данным, индексированным для этой записи, очень хорошо для последующего перехода и получения всей записи из БД при появлении совпадений назад от xapian.
Я использовал пару поисковых систем на моем сайте во время его времени, но в следующем восстановлении я планирую перейти на Google Site Search.
На это есть несколько причин:
Поиск по сайту Google начинается со $ 100 в год за 1000 страниц или меньше (и ограничение по запросам), или вы можете использовать бесплатную систему пользовательского поиска Google (но это имеет гораздо меньшую настраиваемость)