Comment construire une saisie semi-automatique/Suggestions avec Lucene.NET?Comment construire une saisie semi-automatique/Suggestions avec Lucene.NET?
Répondre
créer une base de données de toutes les requêtes de recherche entrant dans votre application. (Journal de requêtes)
créer une table qui a des champs similaires
QueryText varchar(x)
Occurence int
puis effectuez une recherche où le texte de la requête commence par ce que l'utilisateur est à la recherche et à l'ordre par l'apparition décroissant.
where QueryText LIKE 'some text%' ORDER BY Occurence DESC
Suis intéressé de voir pourquoi les gens ont downvoted cela, bien que je pense que je connais la réponse ... (trop lent?) –
Je ne suis pas sûr moi-même, mais ce ne serait pas lent du tout parce que nous marquons l'apparition de la requête, donc au lieu de 100 lignes du même texte, nous avons seulement 1 ligne avec une occurrence de 100. Vous pouvez le stocker vous-même dans SQL ou dans Lucene si vous le souhaitez. J'utilise en fait ceci et il fait très bien pour trouver des phrases de recherche communes. –
réponse très simple ici, ça va vous aider à démarrer.
Le projet SpellChecker, qui fait partie de lucene.net contrib, vous donnera le message "Did you mean?" De Google. comme fonctionnalité, vérifiez cela. Pour la saisie semi-automatique, vous pouvez ajouter un * à la fin de la requête de texte. Donc, ja * renverrait java, jack, jane, etc. De plus, * va renverrait java, lave, etc (même si vous devez autoriser explicitement les jokers principaux)
this helps
Voulez-vous d'agir sur les requêtes précédentes, le dictionnaire complet de l'index de recherche, ou rechercher/rechercher par rapport à certains champs de vos données? –