Я использую поиск WordPress для поиска по ряду пользовательских типов записей и позволяю пользователю детализировать каждый отдельный тип записей.
Однако я обнаружил, что WordPress не возвращает то, что я считаю «лучшими» матчами в первую очередь. Например, если я ищу Microsoft, страницы, которые содержат термин нерегулярно, по-прежнему возвращаются перед страницами, которые регулярно используют этот термин.
В основном я пытаюсь найти некоторую информацию о том, как WordPress ранжирует страницы и определяет релевантность, и могу ли я повлиять на это без необходимости устанавливать какие-либо плагины .
Любая помощь высоко ценится.
Ответы:
РЕДАКТИРОВАТЬ - Текущая версия WordPress поддерживает актуальность, поэтому этот ответ больше не является точным.
Там нет понятия ранга или релевантности, это просто простой запрос LIKE на заголовок и содержание сообщения:
Вы можете использовать
posts_search
фильтр, чтобы изменить или полностью заменить поисковый запрос своим. От/wp-includes/query.php
:Также см. Доступные фильтры запросов на
WP_Query
странице Кодекса .источник
Начиная с WordPress 3.7 (октябрь 2013 г.) , результаты поиска сортируются по следующим критериям (см. Тикет 7394 ):
Каждый раздел и все оставшиеся сообщения сортируются по дате.
Также есть новые фильтры:
wp_search_stopwords
, чтобы отфильтровать стоп-слова, игнорируемые вWHERE
.posts_search_orderby
, для фильтрацииORDER BY
при заказе результатов поиска.источник