説明
Relevanssi は WordPress の標準的な検索機能を、多くの機能と設定可能なオプションを持つ、より優れた検索エンジンに置き換えます。より良い検索結果を得ることができることができますので、サイト利用者を満足させることができます。
これは Relevanssi の無料版です。機能が追加された Relevanssi Premium もあります。プレミアムについては Relevanssi.com をご覧ください。
Relevanssi を使用するには、大量の(数百メガバイトの) データベース領域が必要な場合があることに注意してください (妥当な見積もりは wp_posts
データベーステーブルのサイズを3倍することです)。もし、データベーステーブルの容量に制限がある場合、Relevanssi を使用すると問題が発生する可能性があります。そのような場合、Relevanssi の使用はおすすめできません。
主な特長
- 検索結果は、日付順ではなく、関連性の高い順にソートされます。
- あいまい一致: 完全な単語が一致しない場合、部分的な単語を一致させます。
- 1つの検索語のみに一致する文書 (OR クエリ) 、またはすべての語句の出現を必要とする文書 (ANDクエリ) を検索します。
- “検索フレーズ” のように引用符で囲んで検索します。
- キーワードがハイライトされ、ヒットした場所を示すカスタム抜粋を作成します。
- ユーザーが検索結果をクリックすると、文書内のキーワードがハイライトされます。
- コメント、タグ、カテゴリー、カスタムフィールドを検索できます。
- マルチサイトにも対応しています。
- bbPress をサポートしています。
- Gutenberg に対応しています。
高度な機能
- タイトル、タグ、コメントの重み付けを調整できます。
- クエリーのログ、最も人気のあるクエリー、ヒットしない最近のクエリーを表示できます。
- 隠し変数やプラグインの設定により、検索対象をカテゴリーやタグに限定することができます。
- カスタム投稿タイプやカスタムタクソノミーをインデックスします。
- ショートコードの内容をインデックスします。
- ユーザーの検索結果を基にした Google のような「Did you mean ?」サジェスト。
- WPML multi-language plugin と Polylang をサポートしています。
- s2member membership plugin, Members, Groups, Simple Membership などの会員管理向けプラグインに対応しています。
- 検索結果を思い通りにハックするための高度なフィルタリング。
- 検索結果のスロットリングにより、大規模データベースでのパフォーマンスを改善。
- シンプルなフィルターフックで、投稿内容や投稿タイトルのインデックスを無効にすることができます。
プレミアム機能 (Relevanssi プレミアム)
- 添付ファイルの内容をインデックス化 (PDF、Office、Open Office)。
- 「Did you mean ?」のスペルチェックを改善しました。
- マルチサイト内の複数のサイトにまたがって検索することができます。
- ユーザーのプロフィールを検索し、インデックスします。
- タクソノミーのキーワードページ (カテゴリー、タグ、カスタムタクソノミー) を検索し、インデックスを作成します。
- wp_posts MySQL テーブルの任意のカラムを検索し、インデックスを作成します。
- 任意の投稿タイプやタクソノミーにウェイトを設定できます。
- 新しい投稿に特別なウェイトを割り当てることができます。
- AND 検索と OR 検索を選択できるようにし、+と-演算子 (AND と NOT) が使用できます。
- 設定のエクスポートとインポート機能。
- WP CLI コマンド
- 関連する投稿
- 検索用のリダイレクト
謝辞
- Cristian Damm タグインデックス、コメントインデックス、投稿/固定ページ除外、その他全般。
- Marcus Dalgren UTF-8 対応。
- Warren Tape バージョン2.5.5対応。
- Mohib Ebrahim 詳細なバグ発見。
- John Calahan バージョン4.0の広範囲にわたるベータテスト。
インストール
- WordPress 管理画面からプラグインをインストールします。
- プラグインを有効化します。
- プラグインの設定ページで、説明に沿ってインデックスを構築してください。
- これで完了です !
Relevanssi は標準の検索フォームを使用するので、通常、検索結果のテンプレートを変更する必要はありません。
検索しても結果が表示されない場合、使用しているテーマが検索結果のテンプレートで query_posts() を呼び出している可能性があり、Relevanssi の動作に影響していることがあります。詳しくは The most important Relevanssi debugging trick をご覧ください。
アンインストール
プラグインをアンインストールするには、WordPress 管理画面の「プラグイン」からプラグインを削除します (プラグインページから、まず無効化し、次に削除)。プラグインファイルを手動で削除しても、データベースのテーブルとオプションは残ります。
FAQ
-
ナレッジベース
-
Relevanssi のナレッジベース で解決策や答えを見つけることができます。
-
コンテキストヘルプ
-
多くの一般的な問題に対する答えは、コンテクストメニューから見つけることができます。WordPress の管理画面右上の Relevanssi の設定ページにある「ヘルプ」をクリックするだけです。
-
Relevanssi が動作しません
-
Relevanssi をインストールし有効にしてもうまく動作しない場合、最も考えられる理由は、検索結果のテンプレートで
query_posts()
を呼び出していることです。これは Relevanssi の動作に不具合を起こす可能性があります。query_posts()
の呼び出しを削除してみてください。 -
アンパサンドやハイフンを含む単語の検索がうまくできません
-
句読点を含む単語が見つからない をお読みください。Relevanssiのインデックス作成設定から修正することができます。
-
ユーザーの検索ログはどこにありますか ?
-
管理メニューの「ユーザー検索」で確認できます。
-
関連性スコアを表示したい
-
Relevanssi は結果をソートするために使用する関連性スコアを $post 変数に格納します。以下を追加するだけです。
echo $post->relevance_score
これを検索結果テンプレートに追加すると、関連性スコアが表示されるようになります。
-
「Did you mean ?」とは何ですか
-
Relevanssi は Google のような “Did you mean ? “サジェスト を提供します。詳しくはナレッジベースの “Did you mean” サジェストを参照してください。
-
tf * idf の重み付けとは何ですか ?
-
情報検索で使われる基本的な重み付け方式です。tf は 用語頻度 の略で、idf は 逆文書頻度 (inverted document frequency) です。用語頻度とは単純に用語が文書に出現する回数で、文書頻度とはその用語が出現するデータベース内の文書の数です。
したがって、ある文書に対するその単語の重みは、その文書に出現する回数が多いほど、また、他の文書に出現する回数が少ないほど大きくなります。
-
ストップワードとは何ですか ?
-
各文書のデータベースには、無駄な単語がたくさんあります。ほぼすべての文書に登場する短い単語は、情報検索の目的にはまったく役に立たないものばかりです。基本的に、それらの逆引き文書頻度は低いので、マッチングにおいて大きな力を発揮することはありません。また、それらの単語を削除することで、インデックスを小さくし、検索を高速化することができます。
評価
貢献者と開発者
変更履歴
4.20.0
- New feature: Relevanssi can now create custom field specific excerpts that come from one custom field only and know which field that is.
- New feature: You can see the list of indexed custom field names in the indexing and excerpt settings.
- New feature: New filter hook
relevanssi_excerpt_specific_custom_field_content
filters the excerpt custom field content ifrelevanssi_excerpt_specific_fields
is enabled. - Changed behaviour: The
relevanssi_get_custom_field_content()
function now returns an array instead of string. Ifrelevanssi_excerpt_specific_fields
is off, the previous string return value is returned as a single-item array with the string in index 0. If the setting is on, the array keys are the field names. - Minor fix: The stopword population during the multisite installation used the wrong database table, leading to failed population.
- Minor fix: Multisite installation is moved from
wp_insert_site
(priority 10) towp_initialize_site
(priority 200) in order to avoid trouble. - Minor fix: The session ID is now included in the log export.
- Minor fix: The “none” value in category dropdowns from the searchform shortcode is changed from -1 to 0.
4.19.0
- New feature: Logging now includes a session ID (based on user ID for logged-in users, HTTP user agent for others, and current time, stable for 10 minutes per user). This is used to remove duplicate searches from live searches, keeping only the final search query.
4.18.4
- New feature: New filter hook
relevanssi_highlight_query
lets you modify the search query for highlighting. - Changed behavior: Relevanssi no longer searches in feed searches by default.
4.18.3
- New feature: New filter hook
relevanssi_blocked_field_types
can be used to control which ACF field types are excluded from the index. By default, this includes ‘repeater’, ‘flexible_content’, and ‘group’. - New feature: New filter hook
relevanssi_acf_field_object
can be used to filter the ACF field object before Relevanssi indexes it. Return false to have Relevanssi ignore the field type. - New feature: Relevanssi debug mode has more features now.
- Minor fix: ACF field exclusion is now recursive. If a parent field is excluded, all sub fields will also be excluded.
- Minor fix: Handling of data attributes in in-document highlighting had a bug that caused problems with third-party plugins.
- Minor fix: The indexing settings tab now checks if the wp_relevanssi database table exists and will create the table if it doesn’t.
4.18.2
- New feature: Relevanssi now has a debug mode that will help troubleshooting and support.
- Minor fix: Using the_permalink() caused problems with search result links. That is now fixed. Relevanssi no longer hooks onto
the_permalink
hook and instead usespost_link
and other similar hooks.
4.18.1
- New feature: New filter hook
relevanssi_add_highlight_and_tracking
can be used to force Relevanssi to add thehighlight
and tracking parameters to permalinks. - Changed behaviour: The ‘relevanssi_wpml_filter’ filter function now runs on priority 9 instead of 10 to avoid problems with custom filters on relevanssi_hits_filter.
- Minor fix: Handle cases of missing posts better; relevanssi_get_post() now returns a WP_Error if no post is found.
- Minor fix: Search queries that contain apostrophes and quotes can now be deleted from the log.
- Minor fix: Avoid a slow query on the searching tab when the throttle is not enabled.
4.18.0
- New feature: Relevanssi now shows the MySQL
max_allowed_packet
size on the debug tab. - New feature: Relevanssi now shows the indexing query on the debug tab.
- New feature: ACF field settings now include a ‘Exclude from Relevanssi index’ setting. You can use that to exclude ACF fields from the Relevanssi index.
- Minor fix: Relevanssi was adding extra quotes around search terms in the
highlight
parameter. - Minor fix: Yet another update to data attributes in highlighting. Thanks to Faeddur.
- Minor fix: Taxonomy query handling was improved. This should help in particular Polylang users who’ve had problems with Relevanssi ignoring Polylang language restrictions.