Question

J'ai une recherche en direct sur ma page d'aide qui recherche notre base de données de l'aide et renvoie les résultats pertinents. Je figure qu'une bonne façon de décider ce qui a besoin de plus de documentation serait de connecter des recherches qui renvoient aucun résultat à notre base de données.

Normalement, ce serait vraiment simple, mais le fait que c'est une recherche en direct a fait un peu plus délicat.

Alors, quand quelqu'un cherche:

  • Cette recherche ne renvoie aucun résultat.

parce que c'est une recherche en direct, nous obtenons des recherches suivantes:

  • Ce s
  • Ce r recherche
  • Cette recherche renvoie n
  • Cette recherche ne renvoie aucun résultat.

Il serait évidemment mieux si nous ne pouvions connecter la phrase complète et non les partials.

Donc pour l'instant la façon dont je suis le dumping que toutes les recherches dans une table qui ressemble à: (Id int, texte SEARCH_STRING, nombre int)

La seule façon que je peux penser qui pourrait aider serait

  • Avant d'ajouter une nouvelle ligne à la table faire une recherche comme de la chaîne de recherche contre les recherches dans la table et s'il y a un match n'insérez pas ou incrémenter le compteur. Cependant, je pense ce tableau vraiment conséquents et une requête comme comme ça deviendrais vraiment lent.

  • Ecrire javascript pour si la valeur d'entrée n'a pas changé en 2 secondes envoyer une recherche spéciale en direct avec un drapeau qui dit de se connecter si elle est un échec.

Il me semble qu'il doit y avoir une meilleure façon de gérer cela, mais je suis sur quoi que ce soit d'obturation. Toutes les idées?

Était-ce utile?

La solution

Je pense que vous devez faire est d'utiliser un temporaire (tous les jours, peut-être, ou toutes les heures si vous avez besoin rétroaction plus rapide) table des candidats « » manqué recherches. il se post-traitement à la fin de la durée de vie de la table, de sorte que toutes les recherches qui sont préfixes d'autres recherches manquées ou des recherches réussies, sont ignorées. Le reste va dans la table des appels manqués « vrais » recherches.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top