7
votes

Rechercher des mots clés de mots-clés dans asp.net

Je fournis une liste de résultats de recherche pour une chaîne de mots-clés donnée et je souhaite que les mots-clés correspondants de mes résultats de recherche soient mis en surbrillance. Chaque mot doit être enveloppé dans une étendue ou similaire. Je cherche une fonction efficace pour le faire.

E.g.

mots-clés: "lorem ipsum"

résultat: "Quelque texte contenant lorem et ipsum"

sortie HTML souhaitée: " du texte contenant lorem et ipsum " "

Mes résultats sont insensibles de cas.


0 commentaires

4 Réponses :


1
votes

5 commentaires

Ça va bien, mais dois-je utiliser Lucee.net pour mes résultats de recherche pour utiliser les fonctions de Lucene Highligher? J'utilise en fait une simple procédure stockée (les données ne sont que dans une table, donc je ne souhaite pas avoir à construire et à maintenir un indice de Lucene séparé).


Ici vous pouvez trouver des sources svn.apache.org/repos/asf/incubator/lucene.net/trunk/c%23/... . Peut-être cela vous aidera à prendre une décision


Hmm. On dirait que vous ne pouvez l'utiliser qu'avec Lucene. ((Mais peut-être que vous pouvez utiliser du code de ce projet ...


premier et dernier liens sont en panne


@ssg Oui, il y a une nouvelle version de Lucene elle-même et également une nouvelle mise en page de documnation. Le lien de courant pour cette classe est incubateur.apache.org/lucene.net/docs/2.9.4/html/... . Mais ce n'est pas un lien permanent



1
votes

Utilisez le plug-in jQuery Mightlight.

pour la surbrillance sur le côté serveur xxx

Vous pouvez utiliser des expressions régulières pour le remplacement de texte avancé.

Vous pouvez également écrire le code ci-dessus dans un fichier httpmodule afin de pouvoir être utilisé dans d'autres applications.


1 commentaires

Merci pour l'idée - dans ce cas, j'essaie de faire ce serveur, car il doit fonctionner sur une variété de périphériques non javascript.



14
votes

Voici ce que j'ai décidé. Une fonction d'extension que je peux appeler sur les chaînes correspondantes dans ma page / la section de ma page: xxx

toute suggestion supplémentaire ou commentaires?


4 commentaires

Premièrement, cela va reconnaître les matchs partiels dans les mots. Votre regex doit faire des remplacements de mots entiers uniquement. Deuxièmement, vous pouvez entrer '' ' au lieu de convert.tochar ("")


Merci Richard - Bon conseil pour Char, je savais qu'il doit y avoir une meilleure façon, mais cela n'avait pas cliqué dessus. Les matchs partiels, c'est ce que je suis après dans ce cas, comme la recherche utilise des caractères génériques (d'où la nécessité de rendre les choses plus claires avec la surbrillance).


Je ne suis pas sûr, mais il y a des fichiers javascript pour la surbrillance du texte. Ex: Eggheadcafe.com/articles/highlight_google_keywords.asp


Cela ressemble à peu à la solution que je viens d'écrire à mon projet. J'ai trouvé un problème si je cherchais plus d'un mot et que le dernier mot a été couvert, classe ou frappé. Cela va baiser des choses mal. J'ai essayé de meacher une meilleure solution et j'ai trouvé cela, alors je veux donner aux gens un heads-up ce qui peut aller mal si cela fait comme ça.



0
votes

une extension à la réponse ci-dessus. (N'ayez pas assez de réputation pour donner un commentaire)

Pour éviter la portée d'être remplacé lorsque des critères de recherche étaient [SPAN PAN A A], le mot trouvé a été remplacé par quelque chose d'autre que de remplacer le dos ... pas très efficace. .. xxx


0 commentaires