뒤에서 WordPress 검색은 어떻게 작동합니까?


11

WordPress 검색을 사용하여 다양한 사용자 정의 게시물 유형을 검색하고 사용자가 각 개별 게시물 유형을 드릴 다운 할 수 있습니다.

그러나 워드 프레스가 내가 '최고'인 것으로 간주되는 것을 먼저 반환하지 않는다는 것을 알았습니다. 예를 들어, Microsoft를 검색 할 경우 용어를 불규칙적으로 포함하는 페이지는 해당 용어를 정기적으로 사용하는 페이지보다 먼저 반환됩니다.

기본적으로 WordPress가 페이지 순위를 매기고 관련성을 결정하는 방법과 플러그인을 설치하지 않고도 영향을 줄 수 있는지에 대한 정보를 찾으려고 합니다 .

도움을 주시면 감사하겠습니다.


2
즉,이 사이트에 대한 끔찍한 광범위한 질문 - 투시 물어 무엇 & 요구하지 않는 어떤 부분을. 몇 번의 빠른 Google 검색을 수행하여 다음과 같은 결과를 얻었습니다. Make WordPress 'Search Suck Less ('08 년부터 시작되었으므로 YMMV). 플러그인없이 기능에 영향을주는 경우-다른 사람의 플러그인에 알레르기가있는 경우 자신의 플러그인 중 하나를 작성해야합니다. 플러그인은 단순히 WP가 작동하는 방식에 영향을 미치며, 이것이 당신이하려는 일입니다. 권리?
Pat J

1
고마워, 나는 다른 사람들의 플러그인 사용을 피하고 싶지 않다. 더 이상 '플러그 스프롤'을 피하고 싶다는 사실, 즉 "아, 나는 이것을 위해 플러그인을 가질 것이다." 당신은 그들 중 30을 실행했습니다.
chrisd

이해하고 동정합니다. 나는 많은 플러그인을 실행하지만 많은 플러그인을 작성했습니다.
Pat J

답변:


10

편집-WordPress 의 현재 버전은 관련성을 지원하므로이 답변은 더 이상 정확하지 않습니다.


순위 나 관련성에 대한 개념은 없으며 게시물 제목과 내용에 대한 간단한 LIKE 쿼리입니다.

($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}')

posts_search필터를 사용하여 검색어를 수정하거나 검색어를 완전히 바꿀 수 있습니다. 보낸 사람 /wp-includes/query.php:

// Allow plugins to contextually add/remove/modify the search section of the database query
$search = apply_filters_ref_array('posts_search', array( $search, &$this ) );

Codex 페이지 에서 사용 가능한 쿼리 필터WP_Query 도 참조 하십시오 .


4
Nacin은 약 1 시간 전에 관련성을 기준으로 정렬하기 위해 코드를 커밋했습니다. 사실, 아마도 당신이 답을 쓰는 것과 같은 시간 일 것입니다. :) core.trac.wordpress.org/changeset/25632
Dave Ross

크고 인기있는 블로그의 경우 모든 콘텐츠를 검색하는 것은 매우 비현실적입니다. query.php에서 "OR (...)"을 삭제하지 않고 속도를 높이기 위해 권장되는 방법은 무엇입니까? 새 질문을 제출해야합니까 아니면 답을 확장 할 수 있습니까?
PJ Brunet

5

이후 워드 프레스 3.7 (2013 10월) , 검색 결과가 다음과 같은 기준으로 분류되어 있습니다 (참조 티켓 7394을 ) :

  • 게시물 제목의 전체 문장이 일치합니다.
  • 게시물 제목의 모든 검색어
  • 게시물 제목의 모든 검색어
  • 게시물 내용에서 전체 문장이 일치합니다.

그런 다음 각 섹션과 나머지 게시물은 날짜별로 정렬됩니다.

새로운 필터도 있습니다 :

  • wp_search_stopwords에서 무시 된 단어를 필터링합니다 WHERE.
  • posts_search_orderbyORDER BY검색 결과를 주문할 때 를 필터링합니다 .
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.