Guide de migration
Table des matières
Ce guide de migration est conçu pour faciliter la transition de SearchWP 3.x (et versions antérieures) à SearchWP 4.
Note : votre clé de licence est la même pour SearchWP 3.x et SearchWP 4
Note : SearchWP 4 est une version majeure qui casse la compatibilité ascendante
(à l'exception de SWP_Query, qui n'a pas été modifié)
Étant donné qu'il s'agit d'une version majeure qui a rompu la compatibilité ascendante, il est fortement recommandé d'effectuer d'abord une migration sur un serveur de staging pour s'assurer que le processus se déroule sans problème avant d'effectuer la migration sur un serveur de production.
Note : les moteurs, paramètres, mots vides et synonymes de SearchWP 3 seront migrés lors de l'activation de SearchWP 4.
Le processus de migration peut être décomposé en étapes suivantes que vous devrez suivre :
- Lire intégralement ce guide de migration.
- S'assurer que toutes les extensions installées ont été mises à jour vers leurs dernières versions.
- 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.
Note : Veuillez consulter la documentation de tous les hooks car certains paramètres ont changé !
- Updating all existing hooks to SearchWP 4 equivalents, reaching out to support if any problems arise.
- Télécharger SearchWP 4 depuis votre compte.
- Désactiver et supprimer* (voir note ci-dessous !)* SearchWP 3.x de votre installation WordPress.
- Installer et activer SearchWP 4.
- Automatic migration of settings from SearchWP 3.x to SearchWP 4 upon activation.
Note : Les poids de pertinence des attributs ont maintenant trois segments, et le curseur de poids affichera le segment de poids le plus proche. Cela peut vous sembler différent si vous avez personnalisé les poids, mais les poids réels de la v3 seront conservés jusqu'à ce qu'ils soient modifiés et que les moteurs soient réenregistrés.
- Construire l'index initial de SearchWP 4.
- Tester la fonctionnalité.
* Si vous avez coché la case pour supprimer toutes les données SearchWP lors de la désinstallation, vos données seront supprimées. Décochez la case si nécessaire.
Si la case n'est pas cochée et que vous n'utilisez pas le hook searchwp_nuke_on_delete pour activer la fonctionnalité, toutes vos données SearchWP resteront intactes et utilisables si vous décidez de réinstaller SearchWP 3.x à tout moment.
Hooks
L'un des changements majeurs de SearchWP 3.x à SearchWP 4 est que tous les hooks ont été renommés. Certains hooks ont été renommés mais fonctionnent par ailleurs de la même manière. D'autres hooks ont été complètement supprimés.
Veuillez examiner tous vos hooks lors de la mise à jour des tags en consultant la documentation de chacun. Certains peuvent être un simple changement de tag, d'autres un simple changement de paramètre, mais certains hooks superflus dans la v3 ont été supprimés au profit d'un nouveau hook plus approprié. Veuillez tester chacun de vos hooks individuellement. ?
Il y a un tableau de référence des hooks disponible ci-dessous.
Changements par rapport à SearchWP 3
L'index et l'indexeur de SearchWP ont été entièrement reconstruits, y compris le processus d'arrière-plan. Cela dit, il existe une parité fonctionnelle entre les deux versions. Ils fonctionnent globalement de manière similaire, mais il y a quelques changements (significatifs) que vous devriez connaître.
Média Parents
Dans SearchWP, lorsque le transfert/l'attribution de poids du parent était activé, les médias sans parent étaient omis des résultats. SearchWP 4 renvoie désormais ces résultats afin qu'ils ne soient pas perdus.
Si vous préférez que les médias sans parent (lorsque le transfert de poids du parent est activé) soient supprimés de l'ensemble des résultats, vous pouvez utiliser ce hook :
| <?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' ); |
Termes de taxonomie
Dans SearchWP 3, seul term_name était indexé par défaut. Suite aux commentaires des clients, ce comportement a changé pour inclure l'objet WP_Term entier, qui comprend le slug, la description et d'autres données attachées à chaque WP_Term que SearchWP indexe.
Si vous souhaitez inverser ce comportement, cet extrait de code fera exactement cela : https://gist.github.com/jchristopher/0ecc4c6ed172f64e7a97748026266e32
Installation
SearchWP 4 est une version majeure qui est également une réécriture complète de SearchWP 3.x. Les changements associés exigent que SearchWP 3.x soit à la fois désactivé et supprimé avant d'installer SearchWP 4.
Il est recommandé de supprimer SearchWP 3.x à l'aide de la page Plugins de votre installation WordPress après sa désactivation.
Note : Il existe un paramètre dans l'onglet Avancé de l'écran des paramètres de SearchWP 3.x qui, lorsqu'il est coché, supprime définitivement toutes les données de SearchWP lors de l'installation. Il existe également un hook : searchwp_nuke_on_delete.
Si vous ne souhaitez pas que vos données soient supprimées lors de la désinstallation, veuillez vous assurer que la case à cocher est décochée et que le hook est absent.
Sauf si vous avez choisi de faire supprimer définitivement vos données SearchWP 3.x lors de la suppression du plugin, votre index et vos paramètres SearchWP 3.x resteront intacts tout au long de ce processus, et seront disponibles si vous décidez de revenir à SearchWP 3.x à tout moment.
Si, après la mise à niveau, vous souhaitez supprimer définitivement les données de SearchWP 3.x (tout en conservant vos données SearchWP 4), vous pouvez utiliser cette extension : Suppression des données héritées.
Paramètres
Lorsqu'il est activé, SearchWP 4 détectera, migrera et importera tous vos paramètres existants, par exemple la configuration du moteur.
Votre index existant ne sera pas migré directement car le format a considérablement changé. Lors de l'activation, SearchWP 4 commencera à reconstruire votre index en utilisant vos moteurs migrés. Une fois l'index reconstruit, votre migration sera terminée !
Vous devriez tester quelques recherches pour vous assurer du bon fonctionnement, et si vous rencontrez des problèmes, veuillez ouvrir un ticket de support dans les plus brefs délais.
Veuillez noter que sauf si vous avez choisi de supprimer vos données SearchWP 3.x, elles sont toujours disponibles en supprimant complètement SearchWP 4 et en réinstallant SearchWP 3.x. Un lien de téléchargement sera toujours disponible dans votre compte.
Référence de migration des hooks
| SearchWP 3.x | SearchWP 4 |
|---|---|
| Actions | |
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 |
| Filtres généraux | |
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 |
locale |
searchwp_missing_integration_notices |
searchwp\missing_integration_notices |
searchwp_nuke_on_delete |
searchwp\nnuke_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} |
| Indexeur | |
searchwp_aggressive_delta_update |
searchwp\index\aggressive_delta |
searchwp_alternate_indexer |
searchwp\indexer\alternate |
searchwp_auto_reindex |
searchwp\index\process\enabled et 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 voir l'article de la base de connaissances |
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 |
Équivalent partiel : 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 |
| Filtres de requête | |
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_exclude |
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_affiner_et_résultats |
N/A |
searchwp_supprimer_pre_get_posts_pendant_la_recherche |
N/A |
searchwp_résultats |
searchwp\query\results |
searchwp_retourner_par_date |
searchwp\query\mods |
searchwp_retourner_aléatoirement |
searchwp\query\mods |
searchwp_arguments_de_recherche |
searchwp\query\args |
searchwp_ordre_de_requête_de_recherche |
searchwp\query\mods |
searchwp_court-circuiter |
searchwp\native\short_circuit |
searchwp_swp_query_post__in_explicite |
N/A |
searchwp_swp_query_post__not_in_explicite |
N/A |
searchwp_terme_dans |
searchwp\query\tokens |
searchwp_termes |
searchwp\query\search_string |
searchwp_poids_max |
N/A |
searchwp_mods_de_poids |
searchwp\query\mods |
searchwp_seuil_de_poids |
searchwp\query\min_relevance |
searchwp_où |
searchwp\query\mods |
| Traitement des documents | |
searchwp_limite_contenu_fichier |
searchwp\source\attachment\attribute\document_content\display_limit |
searchwp_purger_contenu_document |
Voir l'extrait |
| Mise en surbrillance | |
searchwp_terme_highlight_break_on_first_match |
N/A |
searchwp_terme_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 |
| Interface utilisateur des paramètres | |
searchwp_engine_content_type_label |
searchwp\source\attribute\label |

