Bonjour,
Je vous fait pars d'un enjeu qui me préoccupe, afin de vous donner plus de détails je vous explique le contexte afin de comprendre les défis auquels je fait face. Je suis dévelopeur d'une application web qui est un répertoire d'entreprises. Sur les différentes pages une barre de recherche est présentée, une liste de proposition s'affiche pendant que l'utilisateur entre ses mots clés de recherche. Si l'utilisateur choisis une des valeurs celle-ci retourne une url d'une dea pages du répertoire. Cependant il est possible d'effectuer une recherche avec les mots tapés.
Mon application roule sur Django (Python) et j'utiliser la librairie elasticsearch_dsl afin de communiquer avec mon serveur Elasticsearch (verison 6.8), ça fonctionne très bien, mais peut-être que cet enviroment pourrais limiter de fonctionalités.
J'ai récemment mis a jour l'auto-complete de recherche sur l'application. J'ai utilisé les Suggesters d'ElasticSearch, le résultat est parfait. Cependant lorsque les utilisateurs lancent une recherche sur les valeurs fournies, la liste de résultats est moins riche, j'aimerais améliorer le tout.
Actuellement j'utilise un champ de type Completion a été créé afin d'y insérer certaines valeurs incluant des permutations de nom d'entreprise. et quelques valeurs comme la ville, et le quartier.
Lorsque j'ai mis en place ElastciSearch, j'ai créé 2 index distincts, un pour l'auto-complete et un pour les entreprises du répertoire (l'auto-complete contient les entreprises et les landing pages créé dans l'ensemble du site) tandis que le répertoire des entreprises contient plusieurs autres champs afin de permettre une recherche par facettes.
J'ai remarqué que le queries peuvent être mélangées avec les suggesters, cependant les résultats semblent être distinct des résultats de la recherche par facettes. J'aimerais être en mesure de combiner les resultats de la recherche textuelle avec les fonctionalités de suggest, ainsi que les facettes dans mes résultats. Est-ce possible? Comment puis-je m'y prendre?