移行ガイド
この移行ガイドは、SearchWP 3.x(およびそれ以前)からSearchWP 4への移行を支援するために作成されました。
注意:ライセンスキーは、SearchWP 3.xとSearchWP 4の両方で同じです
注意:SearchWP 4は、後方互換性を破るメジャーリリースです
(変更されていないSWP_Queryを除く)
後方互換性が破られたメジャーバージョンリリースであるため、本番サーバーでの移行を実行する前に、ステージングサーバーで最初に移行を実行することを強くお勧めします。これにより、プロセスがスムーズに進むことを確認できます。
注意:SearchWP 3のエンジン、設定、ストップワード、同義語は、SearchWP 4をアクティブ化すると移行されます。
移行プロセスは、実行する必要のある次のステップに分解できます:
- この移行ガイドをすべて確認する。
- インストールされているすべての拡張機能が最新バージョンに更新されていることを確認する。
- Auditing all hooks in use both in your theme and any custom plugins.
- Updating all existing hooks to SearchWP 4 equivalents, reaching out to support if any problems arise.
注意:一部のパラメータが変更されているため、すべてのフックのドキュメントを確認してください!
- Updating all existing hooks to SearchWP 4 equivalents, reaching out to support if any problems arise.
- アカウントからSearchWP 4をダウンロードする。
- WordPressのインストールからSearchWP 3.xを非アクティブ化して削除する(*以下の注意を参照!)。
- SearchWP 4をインストールしてアクティブ化する。
- Automatic migration of settings from SearchWP 3.x to SearchWP 4 upon activation.
注意:属性関連性の重み付けには3つのセグメントが追加され、重みスライダーには最も近い重みセグメントが表示されます。重みをカスタマイズしている場合、これは異なって見えるかもしれませんが、v3からの実際の重みは、変更されてエンジンが再保存されるまで保持されます。
- 最初のSearchWP 4インデックスを構築する。
- 機能のテスト。
* アンインストール時にすべてのSearchWPデータを削除するチェックボックスをオンにした場合、データは削除されます。必要に応じてチェックボックスをオフにしてください。
チェックボックスがオンになっておらず、searchwp_nuke_on_deleteフックを使用してこの機能を有効にしていない場合、いつでもSearchWP 3.xを再インストールすることにした場合でも、すべてのSearchWPデータはそのまま保持され、使用可能になります。
フック
SearchWP 3.xからSearchWP 4への破壊的な変更の1つは、すべてのフックのタグが変更されたことです。一部のフックは名前が変更されましたが、それ以外は同じように機能します。他のフックは完全に削除されました。
各ドキュメントを確認してタグを更新する際に、すべてのフックを確認してください。単純なタグの変更、単純なパラメータの変更の場合もあれば、v3の不要なフックが完全に新しい、より適切なフックに置き換えられた場合もあります。各フックを個別にテストしてください。?
下にフックリファレンステーブルがあります。
SearchWP 3からの変更点
SearchWPのインデックスとインデクサーは、バックグラウンドプロセスを含め、完全に再構築されました。とはいえ、両バージョン間には機能の同等性があります。全体的に似たような方法で動作しますが、注意すべき(重要な)変更点がいくつかあります。
メディアペアレント
SearchWPでは、ペアレントの重み転送/帰属が有効になっている場合、ペアレントのないメディアが結果から除外されていました。SearchWP 4では、これらの結果が失われないように、それらを返します。
ペアレントの重み転送が有効になっている場合に、ペアレントのないメディアを結果セットから除外したい場合は、このフックを使用できます。
| <?php | |
| // Tell SearchWP to drop Media with no parent when Parent Attribution has been enabled. | |
| // This was the default behavior in SearchWP 3 but has changed in SearchWP 4. | |
| add_filter( 'searchwp\source\post\attachment\parent_attribution\strict', '__return_true' ); |
分類ターム
SearchWP 3では、デフォルトでterm_nameのみがインデックスされていました。お客様からのフィードバックに基づき、この動作が変更され、slug、description、およびSearchWPがインデックスする各WP_Termに関連付けられたその他のデータを含む、完全なWP_Termオブジェクトが含まれるようになりました。
この動作を元に戻したい場合は、このスニペットで実現できます: https://gist.github.com/jchristopher/0ecc4c6ed172f64e7a97748026266e32
インストール
SearchWP 4は、SearchWP 3.xの完全な書き直しでもあるメジャーリリースです。関連する変更により、SearchWP 4をインストールする前にSearchWP 3.xを無効化および削除する必要があります。
WordPressのインストールにあるプラグインページを使用して、SearchWP 3.xを無効化した後に削除することが推奨されます。
注意: SearchWP 3.xの設定画面の[高度な設定]タブには、チェックを入れるとインストール時にSearchWPのすべてのデータを永久に削除する設定があります。フックもあります: searchwp_nuke_on_delete。
アンインストール時にデータが削除されないようにしたい場合は、チェックボックスのチェックを外し、フックがないことを確認してください。
SearchWP 3.xのデータをプラグイン削除時に永久に削除することにオプトインしていない限り、SearchWP 3.xのインデックスと設定は、このプロセス全体を通じてそのまま保持され、いつでもSearchWP 3.xに戻す場合に利用可能になります。
アップグレード後にSearchWP 3.xのデータを永久に削除したい場合(SearchWP 4のデータを保持しながら)、この拡張機能を使用できます: レガシーデータ削除。
設定
有効にすると、SearchWP 4は既存の設定(例:エンジン構成)をすべて検出し、移行し、インポートします。
既存のインデックスは直接移行されません。フォーマットが大幅に変更されているためです。有効化すると、SearchWP 4は移行されたエンジンを使用してインデックスの再構築を開始します。インデックスが構築されると、移行は完了です!
機能を確認するためにいくつかの検索をテストしてください。問題が発生した場合は、できるだけ早くサポートチケットを開いてください。
ご注意ください、SearchWP 3.xのデータを削除することを選択しない限り、SearchWP 4を完全に削除してSearchWP 3.xを再インストールすることでまだ利用可能です。ダウンロードリンクは常にアカウント内で利用可能です。
フック移行リファレンス
| SearchWP 3.x | SearchWP 4 |
|---|---|
| アクション | |
searchwp_after_query_index |
searchwp\query\after |
searchwp_before_query_index |
searchwp\query\before |
searchwp_index_initial_complete |
searchwp\indexer\complete |
searchwp_index_pdf_metadata |
searchwp\document\pdf_metadata\skip |
searchwp_index_post |
searchwp\index\add |
searchwp_index_up_to_date |
N/A |
searchwp_indexer_loopback |
N/A |
searchwp_indexer_post_chunk |
searchwp\indexer\batch |
searchwp_indexer_posts |
searchwp\indexer\has_updates |
searchwp_indexer_pre |
searchwp\indexer\init |
searchwp_indexer_pre_chunk |
searchwp\indexer\batch |
searchwp_indexer_pre_get_comments |
N/A |
searchwp_indexer_running |
searchwp\process\begin |
searchwp_load |
searchwp\init |
searchwp_loaded |
searchwp\loaded |
searchwp_log |
searchwp\debug\log |
searchwp_revised_search_query |
searchwp\query\ran |
searchwp_settings_after_header |
searchwp\settings\header\after |
searchwp_settings_after\{$view} |
searchwp\settings\after\{$view} |
searchwp_settings_before_header |
searchwp\settings\header\before |
searchwp_settings_before\{$view} |
searchwp\settings\before\{$view} |
searchwp_settings_engines |
searchwp\settings\view\default |
searchwp_settings_footer |
searchwp\settings\footer |
searchwp_settings_init |
searchwp\settings\init |
searchwp_settings_nav_tab |
searchwp\settings\nav\tab |
searchwp_settings_view\{$view} |
searchwp\settings\view\{$view} |
searchwp_dashboard_widget |
searchwp\admin\dashboard_widgets\statistics |
searchwp_swp_query_shutdown |
searchwp\swp_query\shutdown |
| 一般的なフィルター | |
searchwp_admin_bar |
searchwp\admin_bar |
searchwp_dashboard_widget_cap |
searchwp\statistics\capability |
searchwp_debug |
searchwp\debug |
searchwp_debug_detailed |
N/A |
searchwp_debug_include_pid |
N/A |
searchwp_extensions |
searchwp\extensions |
searchwp_failed_index_notice |
N/A |
searchwp_init |
searchwp\loaded |
searchwp_initial_engine_settings |
searchwp\install\engine\settings |
searchwp_license_key |
searchwp\license\key |
searchwp_locale_override |
ロケール |
searchwp_missing_integration_notices |
searchwp\missing_integration_notices |
searchwp_nuke_on_delete |
searchwp\nuke_on_delete |
searchwp_settings_cap |
searchwp\settings\capability |
searchwp_show_conflict_notices |
N/A |
searchwp_show_filter_conflict_notices |
N/A |
searchwp_skip_vendor_libs |
N/A |
searchwp_statistics_cap |
searchwp\statistics\capability |
searchwp_statistics_popular_days_{$days} |
searchwp\statistics\popular\days_{$days} |
| インデクサー | |
searchwp_aggressive_delta_update |
searchwp\index\aggressive_delta |
searchwp_alternate_indexer |
searchwp\indexer\alternate |
searchwp_auto_reindex |
searchwp\index\process\enabled と searchwp\indexer\paused |
searchwp_background_deltas |
searchwp\index\process\enabled |
searchwp_basic_auth_creds |
searchwp\indexer\http_basic_auth_credentials |
searchwp_custom_field_{$key} |
searchwp\source\post\attributes\meta\{$key} |
searchwp_custom_fields |
searchwp\source\post\attributes\meta |
searchwp_custom_stemmer |
searchwp\stemmer\custom |
searchwp_do_blocks |
searchwp\source\post\attributes\content\do_blocks |
searchwp_do_shortcode |
searchwp\source\post\attributes\content\do_shortcodes |
searchwp_endpoint |
N/A |
searchwp_exclude_common |
N/A |
searchwp_excluded_custom_fields |
searchwp\source\post\attributes\meta\ignored |
searchwp_exclusive_regex_matches |
searchwp\tokens\tokenize_pattern_matches |
searchwp_external_pdf_processing |
searchwp\parser\pdf |
searchwp_extra_metadata |
N/A KB記事を参照してください |
searchwp_get_custom_fields |
N/A |
searchwp_include_comment_author |
searchwp\source\post\attributes\comments\author |
searchwp_include_comment_email |
searchwp\source\post\attributes\comments\email |
searchwp_index_attachments |
N/A |
searchwp_index_chunk_size |
searchwp\indexer\batch_size |
searchwp_index_comments |
N/A |
searchwp_index_emoji |
searchwp\allow_emoji |
searchwp_indexed_post_types |
部分的な同等: searchwp\sources |
searchwp_indexer_additional_meta_exclusions |
N/A |
searchwp_indexer_apply_engines_rules |
N/A |
searchwp_indexer_comment |
searchwp\source\post\attributes\comment |
searchwp_indexer_comments_args |
searchwp\source\post\attributes\comments\args |
searchwp_indexer_enabled |
N/A |
searchwp_indexer_excluded_by_rules |
N/A |
searchwp_indexer_load_monitoring |
N/A |
searchwp_indexer_loopback_args |
searchwp\indexer\loopback\args |
searchwp_indexer_max_attempts |
N/A |
searchwp_indexer_paused |
N/A |
searchwp_indexer_pre_process_content |
searchwp\source\post\attributes\content |
searchwp_indexer_tag_attributes |
searchwp\valid_html_tags |
searchwp_indexer_taxonomies |
N/A |
searchwp_indexer_taxonomy_term |
searchwp\source\post\attributes\taxonomy\term |
searchwp_indexer_taxonomy_term_index_slug |
N/A |
searchwp_indexer_taxonomy_terms |
searchwp\source\post\attributes\taxonomy\terms |
searchwp_indexer_throttle |
N/A |
searchwp_indexer_unindexed_args |
searchwp\post__insearchwp\post__not_in |
searchwp_indexer_unindexed_media_args |
searchwp\post__insearchwp\post__not_in |
searchwp_is_attribute_used |
N/A |
searchwp_is_used_meta_key |
N/A |
searchwp_is_used_taxonomy |
N/A |
searchwp_keyword_stem_locale |
N/A |
searchwp_lenient_accents |
searchwp\tokens\strict |
searchwp_lenient_accent_result |
searchwp\tokens\removed_accents |
searchwp_lenient_accents_conversions |
N/A |
searchwp_load_maximum |
N/A |
searchwp_max_delta_attempts |
N/A |
searchwp_max_index_attempts |
N/A |
searchwp_mimes_{$mime_type_group} |
N/A |
searchwp_minimum_word_length |
searchwp\tokens\minimum_length |
searchwp_omit_document_processing |
N/A |
searchwp_omit_meta_key |
N/A |
searchwp_omit_meta_key_{$custom_field_key} |
N/A |
searchwp_omit_wp_metadata |
N/A |
searchwp_pdf_metadata |
N/A |
searchwp_pdf_spaces_to_content_percentage |
N/A |
searchwp_post_statuses |
searchwp\post_stati |
searchwp_pre_set_post |
N/A |
searchwp_prevent_indexing |
searchwp\post__not_in |
searchwp_process_term_limit |
searchwp\index\tokens_max |
searchwp_remove_pre_get_posts |
N/A |
searchwp_sanitize_terms |
N/A |
searchwp_set_post |
N/A |
searchwp_stopwords |
searchwp\stopwords |
searchwp_term_count_limit |
searchwp\index\tokens_max |
searchwp_term_pattern_whitelist |
searchwp\tokens\regex_patterns |
searchwp_timeout |
searchwp\indexer\loopback\args |
| クエリフィルター | |
searchwp_allow_quoted_phrase_search |
searchwp\query\logic\phrase |
searchwp_and_fields |
N/A |
searchwp_and_fields_{$post_type} |
N/A |
searchwp_and_logic |
searchwp\query\logic\and |
searchwp_and_logic_only |
searchwp\query\logic\and\strict |
searchwp_auto_output_revised_search_query |
searchwp\query\output_suggested_search |
searchwp_big_selects |
N/A |
searchwp_custom_field_keys |
searchwp\source\attribute\options |
searchwp_debug_append_weights_to_titles |
N/A |
searchwp_disable_impose_engine_config |
N/A |
searchwp_do_suggestions |
searchwp\query\partial_matches\did_you_mean |
searchwp_enable_attribution_{post_type} |
searchwp\source\post\{$post_type}\attribution |
searchwp_enable_parent_attribution_{post_type} |
searchwp\source\post\{$post_type}\parent_attribution |
searchwp_engine_settings_{engine} |
N/A |
検索から除外 |
searchwp\post__not_in |
searchwp_exclude_common |
N/A |
searchwp_force_run |
N/A |
searchwp_force_wp_query |
N/A |
searchwp_force_wpquery_order |
N/A |
searchwp_found_post_objects |
N/A |
searchwp_fuzzy_digit_threshold |
N/A |
searchwp_fuzzy_min_length |
searchwp\query\partial_matches\fuzzy\minimum_length |
searchwp_fuzzy_threshold |
searchwp\query\partial_matches\fuzzy\threshold |
searchwp_in_admin |
N/A |
searchwp_include |
searchwp\post__in |
searchwp_like_min_length |
searchwp\query\partial_matches\minimum_length |
searchwp_like_stem |
N/A |
searchwp_like_wildcard_after |
searchwp\query\partial_matches\wildcard_after |
searchwp_like_wildcard_before |
searchwp\query\partial_matches\wildcard_before |
searchwp_load_posts |
N/A |
searchwp_log_search |
searchwp\statistics\log |
searchwp_max_and_results |
N/A |
searchwp_max_search_terms |
searchwp\query\tokens\limit |
searchwp_max_search_terms_{$engine} |
N/A |
searchwp_max_search_terms_supplemental |
N/A |
searchwp_partial_matches_force_fuzzy |
searchwp\query\partial_matches\force_fuzzy |
searchwp_partial_matches_lenient |
searchwp\query\partial_matches\force |
searchwp_partial_matching_{$engine} |
N/A |
searchwp_persist_extra_metadata |
N/A |
searchwp_posts_per_page |
searchwp\query\per_page |
searchwp_pre_search_terms |
searchwp\query\tokens |
searchwp_query_allow_query_string_override_order |
searchwp\query\mods |
searchwp_query_allow_query_string_override_orderby |
searchwp\query\mods |
searchwp_query_conditions |
searchwp\query\mods |
searchwp_query_join |
searchwp\query\mods |
searchwp_query_limit_start |
searchwp\query\mods |
searchwp_query_limit_total |
searchwp\query\mods |
searchwp_query_main_join |
searchwp\query\mods |
searchwp_query_offset |
searchwp\query\mods |
searchwp_query_orderby |
searchwp\query\mods |
searchwp_query_results |
searchwp\query\results |
searchwp_query_select_inject |
searchwp\query\mods |
searchwp_refine_and_results |
N/A |
searchwp_remove_pre_get_posts_during_search |
N/A |
searchwp_results |
searchwp\query\results |
searchwp_return_orderby_date |
searchwp\query\mods |
searchwp_return_orderby_random |
searchwp\query\mods |
searchwp_search_args |
searchwp\query\args |
searchwp_search_query_order |
searchwp\query\mods |
searchwp_short_circuit |
searchwp\native\short_circuit |
searchwp_swp_query_post__in_explicit |
N/A |
searchwp_swp_query_post__not_in_explicit |
N/A |
searchwp_term_in |
searchwp\query\tokens |
searchwp_terms |
searchwp\query\search_string |
searchwp_weight_max |
N/A |
searchwp_weight_mods |
searchwp\query\mods |
searchwp_weight_threshold |
searchwp\query\min_relevance |
searchwp_where |
searchwp\query\mods |
| ドキュメント処理 | |
searchwp_file_content_limit |
searchwp\source\attachment\attribute\document_content\display_limit |
searchwp_purge_document_content |
スニペットを見る |
| ハイライト | |
searchwp_term_highlight_break_on_first_match |
N/A |
searchwp_term_highlight_occurrence |
N/A |
searchwp_th_auto_filter_excerpt |
N/A |
searchwp_th_auto_highlight_content |
N/A |
searchwp_th_do_shortcode |
N/A |
searchwp_th_excluded_engines |
N/A |
searchwp_th_num_words |
N/A |
searchwp_th_partial_matches |
N/A |
searchwp_th_password_required_message |
N/A |
searchwp_th_pre_process_content |
N/A |
searchwp_th_pre_process_meta_value |
N/A |
searchwp_th_strip_shortcodes |
N/A |
searchwp_th_use_span |
N/A |
| 設定UI | |
searchwp_engine_content_type_label |
searchwp\source\attribute\label |

