Tích hợp các khía cạnh tìm kiếm với plugin tìm kiếm Relevanssi . Relevanssi cải thiện đáng kể chất lượng và mức độ liên quan của kết quả tìm kiếm bằng cách duy trì chỉ mục tìm kiếm của riêng nó trong cơ sở dữ liệu.

Cài đặt

Do cách Relevanssi tự cắm vào tìm kiếm cốt lõi của WordPress nên tích hợp tiện ích bổ sung Relevanssi phải được cài đặt khi bạn sử dụng FacetWP cùng với Relevanssi . Nếu không có tiện ích bổ sung này, các khía cạnh Tìm kiếm và trang kết quả tìm kiếm trên toàn trang web sẽ không hoạt động chính xác.

Cách chọn cài đặt khía cạnh Tìm kiếm cho công cụ tìm kiếm Relevanssi.
Cách chọn cài đặt khía cạnh Tìm kiếm cho công cụ tìm kiếm Relevanssi.

Khi tiện ích bổ sung Relevanssi được kích hoạt, mỗi khía cạnh Tìm kiếm sẽ hiển thị tùy chọn “Relevanssi” mới trong cài đặt “Công cụ tìm kiếm” của nó . Công cụ “Relevanssi” mới này phải được chọn , nếu không khía cạnh này sẽ không trả về kết quả nào. Thay vào đó, nếu bạn có lý do muốn sử dụng công cụ “Mặc định WP”, cách duy nhất để thực hiện công việc này là tắt Relevanssi trên trang đặt khía cạnh Tìm kiếm.

Nếu trang kết quả tìm kiếm trên toàn trang web của bạn (trang có /?s=searchtermtrong URL) có các khía cạnh thì đây là tất cả những gì bạn cần làm. Nhưng nếu nó không có các khía cạnh thì trang kết quả tìm kiếm sẽ không hiển thị kết quả . Để khắc phục điều này, bạn cần tắt FacetWP trên trang kết quả tìm kiếm .

Tắt đoạn kết quả

Một số người dùng đã báo cáo sự cố với tính năng “Tạo đoạn kết quả tìm kiếm tùy chỉnh” của Relevanssi.

Nếu kết quả của bạn không hiển thị, hãy thử tắt cài đặt đó, như minh họa bên dưới:

Tắt cài đặt Tạo đoạn trích kết quả tìm kiếm tùy chỉnh của Relevanssi.
Tắt cài đặt “Tạo đoạn kết quả tìm kiếm tùy chỉnh” của Relevanssi.

Giới hạn liên quan

Xin lưu ý rằng việc sử dụng Relevanssi có thể yêu cầu dung lượng cơ sở dữ liệu lớn (hàng trăm MB) (để ước tính hợp lý, hãy nhân kích thước của bảng cơ sở dữ liệu wp_posts của bạn với ba). Nếu thiết lập dịch vụ lưu trữ của bạn có dung lượng hạn chế cho các bảng cơ sở dữ liệu thì việc sử dụng Relevanssi có thể gây ra sự cố. Thông tin sau đây được lấy từ trang Relevanssi:

“Giới hạn trên về mức độ lớn mà một trang web Relevanssi có thể hỗ trợ tùy thuộc vào phần cứng của bạn. Trên các tài khoản lưu trữ được chia sẻ có tài nguyên hạn chế, hàng chục nghìn bài đăng có thể là quá nhiều. Nếu phần cứng của bạn ổn định, đặc biệt là cơ sở dữ liệu, thì có lẽ không có ranh giới trên. Trang web lớn nhất mà chúng tôi từng biết chạy Relevanssi mà không gặp vấn đề gì có hai triệu bài đăng, sử dụng máy chủ cơ sở dữ liệu chuyên dụng có ổ SSD.”

Sửa lỗi “không có kết quả” trên trang kết quả tìm kiếm

Nếu bạn đã cài đặt tiện ích bổ sung tích hợp FacetWP Relevanssi và trang kết quả tìm kiếm của bạn (trang có /?s=searchtermtrong URL) không có các khía cạnh , tìm kiếm sẽ không hoạt động bình thường và không hiển thị kết quả.

Điều này là do sự tích hợp của FacetWP phải chặn truy vấn tìm kiếm trước khi nó có thể biết liệu các khía cạnh có đang được sử dụng trên trang hay không. Để khắc phục sự cố này, bạn phải tắt FacetWP chỉ cho trang kết quả tìm kiếm bằng cách thêm mã sau vào hàm.php của chủ đề (con) của bạn:

Làm cách nào để sử dụng mã PHP tùy chỉnh?

Mã PHP có thể được thêm vào tệp tin.php của chủ đề (con) của bạn. Ngoài ra, bạn có thể sử dụng tiện ích bổ sung Móc tùy chỉnh hoặc plugin đoạn mã. Thêm thông tin

add_filter( ‘facetwp_is_main_query’, function( $is_main_query, $query ) {
if ( $query->is_search() && $query->is_main_query() ) {
$is_main_query = false;
}
return $is_main_query;
}, 5, 2 );

Sử dụng Relevanssi với WooC Commerce

Nếu bạn đang sử dụng Relevanssi cùng với WooC Commerce , một số thứ sẽ không hoạt động ngay lập tức.

Bài viết này trong tài liệu Relevanssi cung cấp thông tin tổng quan hữu ích về các sự cố tương thích phổ biến và cách khắc phục chúng.

Sửa kết quả tìm kiếm cho SKU sản phẩm WooC Commerce

Nếu bạn đang sử dụng Relevanssi với WooC Commerce, khi bật các biến thể sản phẩm , bạn có thể gặp sự cố khi tìm kiếm SKU sản phẩm biến thể với khía cạnh Tìm kiếm .

Relevanssi có thể lập chỉ mục các SKU biến thể sản phẩm và sản phẩm cho các sản phẩm WooC Commerce: chỉ cần thêm _skuvào danh sách các trường tùy chỉnh để lập chỉ mục. Nhưng Relevanssi sẽ chỉ lập chỉ mục SKU cho các biến thể, do đó, sản phẩm gốc sẽ không được tìm thấy khi tìm kiếm SKU biến thể.

Đoạn mã sau ( source ) sử dụng hook bộ lọc relevanssi_content_to_index để lập chỉ mục các SKU biến thể sản phẩm cho sản phẩm chính, do đó bạn sẽ có thể tìm thấy sản phẩm gốc khi tìm kiếm SKU biến thể.

Thêm mã này vào hàm.php của chủ đề (con) của bạn, xây dựng lại chỉ mục Relevanssi và lập chỉ mục lại FacetWP:

Làm cách nào để sử dụng mã PHP tùy chỉnh?

Mã PHP có thể được thêm vào tệp tin.php của chủ đề (con) của bạn. Ngoài ra, bạn có thể sử dụng tiện ích bổ sung Móc tùy chỉnh hoặc plugin đoạn mã. Thêm thông tin

add_filter( ‘relevanssi_content_to_index’, ‘rlv_index_variation_skus’, 10, 2 );
function rlv_index_variation_skus( $content, $post ) {
if ( ‘product’ === $post->post_type ) {
$args = array(
‘post_parent’ => $post->ID,
‘post_type’ => ‘product_variation’,
‘posts_per_page’ => –1
);
$variations = get_posts( $args );
if ( ! empty( $variations ) ) {
foreach ( $variations as $variation ) {
$sku = get_post_meta( $variation->ID, ‘_sku’, true );
$content .= $sku;
}
}
}
return $content;
}

Cách tắt Relevanssi trên một số trang nhất định

Nếu bạn cần tắt Relevanssi trên các trang hoặc mẫu cụ thể, tất cả những gì bạn cần làm là mở hai bộ lọc Relevanssi . Để làm như vậy, hãy thêm đoạn mã sau vào hàm.php của chủ đề (con) của bạn. Nếu bạn chỉ muốn áp dụng mã này cho các trang hoặc mẫu cụ thể, hãy sử dụng Thẻ có điều kiện . Trong ví dụ này, mã chỉ được áp dụng cho trang có ID 4814.

Với mã này, bạn cũng có thể sử dụng cài đặt Công cụ tìm kiếm “Mặc định WP” trong các khía cạnh Tìm kiếm khi bạn đã cài đặt Relevanssi, cài đặt này thường không hoạt động .

Làm cách nào để sử dụng mã PHP tùy chỉnh?

Mã PHP có thể được thêm vào tệp tin.php của chủ đề (con) của bạn. Ngoài ra, bạn có thể sử dụng tiện ích bổ sung Móc tùy chỉnh hoặc plugin đoạn mã. Thêm thông tin

add_action( ‘wp_head’, function() {
if ( is_page( 4814 ) ) { // Optionally limit this code to a specific page or template, with a Conditional Tag.
// Disable Relevanssi entirely
remove_filter( ‘posts_request’, ‘relevanssi_prevent_default_request’ );
remove_filter( ‘posts_pre_query’, ‘relevanssi_query’, 99 );
}
} );

Thay đổi độ dài từ tối thiểu

Theo mặc định, Relevanssi không lập chỉ mục các từ ngắn hơn ba ký tự. Vì vậy, các cụm từ tìm kiếm có ít hơn ba ký tự sẽ không trả về bất kỳ kết quả nào trong các khía cạnh Tìm kiếm sử dụng công cụ Relevanssi.

Bạn có thể thay đổi điều này bằng cài đặt “Độ dài từ tối thiểu”. Để tìm cài đặt này, hãy điều hướng đến
Cài đặt > Mức độ liên quan > Lập chỉ mục, sau đó cuộn xuống “Cài đặt lập chỉ mục nâng cao”, sau đó nhấp vào “Hiển thị cài đặt nâng cao”:

Cách thay đổi độ dài từ tối thiểu của Relevanssi.
Cách thay đổi độ dài từ tối thiểu của Relevanssi.

Sau khi thực hiện các thay đổi đối với cài đặt này, hãy đảm bảo xây dựng lại chỉ mục của Relavanssi .

Nếu bạn muốn cho phép tìm kiếm một chữ cái, bạn có thể làm như vậy với hook “relevanssi_block_one_letter_searches” :

Làm cách nào để sử dụng mã PHP tùy chỉnh?

Mã PHP có thể được thêm vào tệp tin.php của chủ đề (con) của bạn. Ngoài ra, bạn có thể sử dụng tiện ích bổ sung Móc tùy chỉnh hoặc plugin đoạn mã. Thêm thông tin

add_filter( 'relevanssi_block_one_letter_searches', '__return_false' );

Lưu ý rằng (theo tài liệu được liên kết ở trên) bộ lọc này không hoạt động nếu đối sánh mờ được bật (trong Cài đặt > Mức độ liên quan > Tìm kiếm > Đối sánh từ khóa > “Từ một phần”).