Поисковая система Drupal не индексирует мои пользовательские узлы!

StackOverflow https://stackoverflow.com/questions/1800852

  •  05-07-2019
  •  | 
  •  

Вопрос

Кто-то около часа назад опубликовал вопрос, который был о поисковой системе drupal и примерно так:

  

Я знаю, что drupal должен индексировать все, что возвращается node_view () , но этого не происходит для моего пользовательского контента. Также: есть ли лучшие альтернативы встроенным функциям Drupal?

Поскольку вопрос был удален, когда я отвечал, и не хотел тратить 20 минут своей жизни даром;) Я подумал воссоздать вопрос во второй раз. Надеюсь, что это хорошо по правилам ТАК! :)

Это было полезно?

Решение

Поисковая система Drupal, вероятно, не самая известная особенность Drupal, но она довольно солидная, сложная и надежная. Существует множество модулей, которые улучшают или заменяют его , но - на по крайней мере, из моего опыта - не существует общепринятого "лучшего способа" управлять поиском и индексацией.

Однако для очень больших и загруженных сайтов люди предпочитают использовать внешние инструменты, например, окно поиска Google или даже специальное программное или аппаратное обеспечение, такое как solr / lucene или Google Search Appliance (GSA).

Ссылка, которую я предоставил выше - однако - сортирует модули, связанные с поиском, по убыванию статистики использования, поэтому на первой странице вы найдете наиболее часто используемый. Один из тех, что мне лично нравятся для англоязычных сайтов, - это porter-stemmer , который индексирует слова по их основам (например, : высочайшее, наивысшее и высшее все будут возвращены как совпадения для слова «высокий»).

Это было для общей информации о поиске и Drupal. Что касается вашей проблемы, есть несколько вещей, которые вы можете проверить, чтобы отследить вашу проблему:

<Ол>
  • Был ли ваш cron.php выполнен в последнее время? Индексация выполняется как часть запуска cron, поэтому - если у вас нет набора crontab или если вы не выполнили его вручную, ваш узел, скорее всего, еще не будет проиндексирован.

  • Настройки правильные? Настройки для модуля поиска расположены по адресу http://example.com/admin/settings/search : достаточно ли минимальной длины слова для ваших нужд (по умолчанию 3 буквы)?

  • Индексируется ли 100% сайта? (Вы можете проверить это на странице настроек). Если это не так, и запуск cron.php не решает проблему, посмотрите вниз.

  • Решает ли проблему переиндексация? Особенно, если вы вставляли данные с помощью SQL-запросов непосредственно в таблицы Drupal, скорее всего, Drupal не понял содержимого узла изменился и поэтому не обновляет индекс.

  • Является ли узел, который вы пытаетесь найти, видимым? Результаты поиска по неопубликованным узлам или узлам, для просмотра которых требуются права выше, не отображаются, AFAIK.

  • Что касается " застрявшей индексации " это случилось и со мной однажды. Оказалось, что это был некоторый код PHP внутри тела узла, который вызывал бы исключение PHP при индексации узла, и в результате процесс индексации остановился бы, и все последующие узлы также не будут проиндексированы.

    Надеюсь, это поможет. Удачи!

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top