Je veux ajouter un moteur de recherche sur mon site. Je veux qu'il gère les recherches booléennes et me donne une liste de résultats dans l'ordre ou la meilleure correspondance. J'en ai besoin pour pouvoir travailler avec LINQ, parce que je veux ajouter des clauses supplémentaires à la requête finale qui sera exécutée. Je suis à la recherche du meilleur moteur de recherche open source .NET qui fonctionne avec LINQ. J'aime lucene.net mais le problème est que l'interface LINQ (LINQ to Lucene) n'a pas été mise à jour depuis 2008. Y at-il de bonnes options là-bas?Ouvrir le moteur de recherche LINQ du site internet
Répondre
Vous pouvez essayer d'utiliser le serveur de recherche gratuit Express de Microsoft. Il est disponible en beta for the 2010 version mais sera bientôt disponible. L'API de recherche (SharePoint) est très similaire à SQL, vous pouvez donc ajouter des clauses where supplémentaires.
Ce n'est pas linq ou open source, mais c'est gratuit et peut fonctionner dans votre cas. J'ai regardé un peu le lucene linq api moi-même, et suis arrivé à la même conclusion que vous avez. Ce n'est pas mis à jour, alors que Lucene est encore en train d'être travaillé.
L'autre option consiste à créer votre propre fournisseur Lucene Linq, mais cela demandera du travail.
Documentation pour la classe FullTextSqlQuery. (ancienne version docs avec l'échantillon here)
Voici un extrait de code pour montrer à quoi il ressemble:
FullTextSqlQuery fullTextSqlQuery = new FullTextSqlQuery(site)
fullTextSqlQuery.QueryText = String.Format("SELECT Title, SiteName, Path FROM Scope() WHERE \"scope\"='All Sites' AND CONTAINS('\"{0}\"')", searchPhrase),
et vous pouvez ajouter plus à la clause WHERE de la requête.
J'ai décidé d'utiliser la fonction d'indexation de texte intégral du serveur sql. Ce n'est pas aussi complet que lucene.net, mais pour mes besoins, le travail est plutôt bien fait.
- 1. Moteur de recherche Carte du site Asp.Net
- 2. internet explorer ne peut pas ouvrir le site internet?
- 3. Pertinence du moteur de recherche
- 4. Redirection du moteur de recherche
- 5. Moteur de recherche indexation site web flash?
- 6. Malheurs du moteur de recherche
- 7. Ñ n'apparaît pas dans le moteur de recherche google site
- 8. Filtrer le trafic de trafic du moteur de recherche
- 9. ASP.NET Moteur de recherche
- 10. Installer le fournisseur de recherche [Internet Explorer]
- 11. Le moteur de balayage du site web de Backlink-reporting?
- 12. comment faire un moteur de recherche pour site web?
- 13. Comment utiliser Bing comme moteur de recherche sur mon site?
- 14. Acronymes avec le moteur de recherche Sphinx
- 15. Google moteur de recherche personnalisé
- 16. Moteur de recherche personnalisé
- 17. Schéma d'analyse du parseur du moteur de recherche
- 18. Limitation du moteur de recherche SharePoint à un sous-site spécifique
- 19. Saisir les mots-clés du moteur de recherche dans php
- 20. moteur de recherche utilisant développeur web 2008
- 21. Moteur de recherche sans rampement?
- 22. Pourquoi et comment googlebot utilise-t-il le moteur de recherche de mon site?
- 23. soumission de lien automatique dans le moteur de recherche
- 24. Cloaking de moteur de recherche
- 25. Optimisation de moteur de recherche
- 26. Ok, dernière question concernant le moteur de recherche sur mon site
- 27. Obtenir un moteur de recherche semblable à un moteur de recherche en utilisant php
- 28. Faire des profils moteur de recherche - consultable?
- 29. Écrire un moteur de recherche
- 30. E-commerce Moteur de recherche
Mikael, j'apprécie vraiment vos suggestions. Je ne pense pas que Search Server soit une option en ce moment car j'en ai besoin pour travailler sur un serveur web partagé (je ne peux pas installer de logiciel) et j'en ai besoin pour travailler avec LINQ. Aussi je n'ai pas le temps d'investir en créant un fournisseur linq linux, je préfèrerais trouver quelque chose qui existe déjà:/ – Noel
Gardez à l'esprit que linq est juste un fournisseur/wrapper pour l'API sous-jacente implémente. Vous devriez très bien pouvoir modifier la requête avec un code personnalisé au lieu de linq. Si vous pensez joindre linq à partir d'une autre source de données (objets, db etc), cela pourrait très bien ne pas fonctionner. À quoi ressemble votre requête lucene, et comment devez-vous la modifier? –