2008-12-18 7 views
2

J'ai une recherche en direct sur ma page d'aide qui recherche notre base de données d'aide et renvoie les résultats pertinents. Je pense qu'un bon moyen de décider ce qui nécessite plus de documentation serait de consigner les recherches qui ne renvoient aucun résultat à notre base de données.Logging recherche en direct misses

Normalement, ce serait vraiment simple, mais le fait que ce soit une recherche en direct a rendu le processus un peu plus compliqué.

Alors, quand quelqu'un cherche:

  • Cette recherche ne renvoie aucun résultat.

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

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

De toute évidence, il serait préférable de ne consigner que la phrase complète et non les partiels.

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 que cela pourrait aider serait être à

  • 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 ne pas insérer ou incrémenter le compteur. Cependant, je m'attends à ce que cette table devienne vraiment grande et qu'une telle requête devienne vraiment lente.

  • Ecrivez un javascript car si la valeur d'entrée n'a pas changé depuis 2 secondes, envoyez une recherche spéciale en direct avec un drapeau qui indique de l'enregistrer si c'est un échec.

Il me semble qu'il doit y avoir une meilleure façon de gérer cela, mais je supprime tout. Des idées?

Répondre

0

Je pense que ce que vous devriez faire est d'utiliser un tableau temporaire (quotidien, peut-être, ou horaire si vous avez besoin d'une rétroaction plus rapide) des recherches «ratées». À la fin de la durée de vie de la table, elle est post-traitée de sorte que les recherches qui sont des préfixes d'autres recherches manquées, ou de recherches réussies, sont ignorées. Le reste va dans le tableau des «vraies» recherches manqués.