Cette question est similaire à une autre que j'avais, mais maintenant dans un contexte différent. Ma question précédente était: zone de texte de recherche pour API de recherche + base de données + vues de recherche + API de facettes + bonus de facettes
Cette option a fonctionné, sauf que je ne peux pas utiliser la recherche actuelle pour réinitialiser la zone de recherche. Je peux réinitialiser les filtres, mais pas le champ de recherche. Je ne trouve pas non plus d'option permettant à l'utilisateur de trier les champs. J'ai installé le module de tri de l'API de recherche, mais je n'ai pas pu obtenir de champs disponibles. J'ai continué à arroser mon index en essayant d'activer/désactiver les champs, et je n'ai pas pu le comprendre.
Ma question est de savoir comment puis-je utiliser une zone de formulaire de recherche avec l'API de recherche + Vues qui me permettra de réinitialiser la zone de recherche avec la zone de recherche actuelle et comment puis-je avoir une zone de tri qui permettra au visiteur de sélectionner le champ de tri?
Ma vue rend les nœuds via les modes d'affichage de la suite d'affichage. En ce moment, j'utilise des filtres de recherche et de tri exposés, mais bien sûr, ils sont regroupés en un seul bloc. L'intérêt de devoir utiliser l'API de recherche était de fournir des filtres et de dissocier mes filtres de recherche et de tri les uns des autres. Mon option de tri sera placée en haut à droite de l'interface utilisateur et le tri dans la barre latérale gauche.
EDIT: À l'aide des tris de l'API de recherche , selon les conseils de giga ci-dessous, je suis retourné et j'ai essayé de trier mes champs. J'ai dépouillé les champs et toujours pas de chance pour les trier. C'est un site Commerce, et j'utilise l'API Commerce Search, qui me donne un index d'affichage des produits. À l'origine, je déplace des champs de contenu hors de l'index, il ne me reste donc que l'affichage de mon produit et les champs de produit.
Mes champs indexés en ce moment sont (champ, type, boost):
Type de contenu - Chaîne - 1.0
Titre - Chaîne - 1.0
Date de création - Date - 1.0
Date modifiée - Date - 1.0
Étiquettes de produit - Terme de taxonomie
Réf produit - Produit commercial
Type d'élément - Terme de taxonomie
Tri pondéral - Entier - 1,0
Réf du produit >> Prix >> Montant (décimal) (Min) - Décimal - 1,0
Réf du produit >> Prix >> Montant (décimal) (Max) - Décimal - 1,0
Titre (Texte intégral) [search_api_aggregation_1] - Texte intégral - 1.0
Tags de produit (Fulltext) [search_api_aggregation_4] - Fulltext - 1.0
Nom du type d'élément (Fulltext) [search_api_aggregation_5] - Fulltext - 1.0
Tags du produit >> Nom - Chaîne - 1.0
Réf Proudct >> Taille de portion - Chaîne - 1.0
Réf du produit >> Taille de la portion - Texte intégral - 1.0
Type d'élément >> Nom - Chaîne - 1.0
Réf du produit >> Prix >> Montant (décimal) - Décimal - 1,0
Les seuls champs que j'essaie d'indexer sont le titre, le prix min et max et le tri pondéral comme tri par défaut initial. Aucun d'eux n'apparaît dans ma table de champs triables sous l'onglet Tris.
Il s'agit d'un problème connu dans la dernière mise à jour du module Trier. Commenter le bloc de code publié ici résout mon problème.
Pour résoudre le problème, utilisez la dernière version de développement.
L'API de recherche trie uniquement les champs des types pris en charge. Assurez-vous que les champs sur lesquels vous souhaitez trier sont des chaînes de valeurs uniques ou des nombres.
Si les champs sont mutli-valeur, vous pouvez utiliser les plages de l'API de recherche pour vous donner des champs de valeur max/min que vous pouvez utiliser.
Si un champ est en texte intégral, une astuce consiste à créer un champ agrégé contenant uniquement ce champ et à lui affecter un type de chaîne.
travaillé cela ... avec l'aide de la réponse 3,
Commerce kickstart, API de recherche,
Champ d'agrégation ajouté ici: admin/config/search/search_api/index/product_display/workflow
sous l'onglet "filtres" puis recherchez "Paramètres de rappel" Cliquez sur "Champs agrégés" pour le transformer en l'onglet actif
J'ai ajouté un champ de poids de taxonomie et je l'ai nommé quelque chose comme "Poids de taxonomie d'agrégation". J'ai sélectionné "texte intégral" comme format.
Puis enregistrez et réindexez
Puis dans la section "champs" de admin/config/search/search_api/index/product_display/workflow
Mon nouveau champ se présentait pour l'indexation .... ;-)
Cochez le nouveau champ à indexer ... assurez-vous qu'il s'agit bien d'une "chaîne"
Enregistrer et réindexer
Allez voir ...
Ajoutez un nouveau FILTRE CONTEXTUEL .... recherchez votre nouveau champ "Pondération de la taxonomie d'agrégation"
Goto SORT CRITERIA dans votre vue .... votre nouveau champ est disponible pour trier ....
Cela m'a pris trois jours pour le résoudre LOL!
Il fallait donc partager ... Bonne chance!
Eh bien, je vais essayer d'expliquer mon approche.
Je n'ai pas utilisé le module Sorts. Les étapes que j'ai prises sont les suivantes:
Pour les champs à valeurs multiples, vous avez besoin de la dénormalisation fournie par ce module https://www.drupal.org/project/search_api_grouping