J'ai un site MVC qui utilise Lucene.net pour ses capacités de recherche. Le site a plus de 100k produits. Les index sont déjà créés pour le site. Le site, cependant, a également 2 flux de données qui mettent à jour la base de données sur une base régulière (potentiellement toutes les 15 minutes). Donc les données changent beaucoup. Comment dois-je procéder pour mettre à jour les index Lucene ou est-ce que je n'ai pas besoin de le faire?Mise à jour des index Lucene.net régulièrement
Répondre
Utilisez un planificateur de processus (tel que Quartz.Net) pour s'exécuter de temps en temps (toutes les 15 minutes) pour extraire les éléments de la base de données qui ne sont pas indexés.
Utilisez un champ comme ID à comparer (comme un numéro de séquence ou une date). Vous obtiendrez le dernier document ajouté à partir de l'index et le dernier de la base de données et indexez tout entre. Vous devez faire attention de ne pas indexer les doublons (ou pire, passer outre les documents non indexés).
Alternativement, synchronisez votre indexation avec les 2 flux de données et indexez les documents tels qu'ils sont stockés dans la base de données, vous évitant ainsi les pièges ci-dessus (doublons/manquants). Je ne sais pas comment ces flux mettent à jour votre base de données, mais vous pouvez les intercepter et mettre à jour l'index en conséquence.
Jetez un oeil à cette solution, j'avais la même exigence et j'ai utilisé la solution de ce lien et cela a fonctionné pour moi. En utilisant une minuterie, il crée l'index de temps en temps, donc il n'y aura pas de problème de chevauchement/saut. Essaie.
Making Lucene.Net thread safe in the code
Merci.
- 1. Lucene.NEt Index mises à jour + structuremap
- 2. Mise à jour des index Sitecore Lucene
- 3. Comment mettre à jour régulièrement?
- 4. Lucene.Net Query Parser/Index bug?
- 5. mise à jour git index mv
- 6. mise à jour avec ajax, index indéfini
- 7. mise à jour MySQL index unique
- 8. Mise à jour des index de modèles dans une collection
- 9. Lucene.Net maintien des index lors de l'utilisation de MultiSearcher
- 10. Lucene.NET requête + mise en évidence
- 11. Vérifier régulièrement les mises à jour du navigateur
- 12. Mise à jour d'Android TextView régulièrement pour afficher le compte à rebours
- 13. Options pour la mise en grappe Lucene.NET?
- 14. Riak 2i - Mise à jour supprime les index secondaires
- 15. SQL Server 2008 Repopulate Index Option "Mise à jour"
- 16. mise à jour index de solr par nutch
- 17. Ajax page ne met pas à jour régulièrement
- 18. insert/table de mise à jour avec deux index
- 19. index pas de mise à jour dans la méthode drawListRow
- 20. Comment gérer des mises à jour très fréquentes d'un index Lucene
- 21. Créer un index Lucene.net de documents avec des tables/entités ayant un à plusieurs
- 22. Mise à jour MySQL non mise à jour
- 23. Index SQL et synchronisation des mises à jour
- 24. Mise à jour incrémentielle des résultats MapReduce
- 25. Mise à jour des enregistrements
- 26. Mise à jour des modèles
- 27. Mise à jour des variables
- 28. Mise à jour des valeurs
- 29. mise à jour des valeurs
- 30. Mise à jour des classeurs
Êtes-vous en train de dire que l'index est construit une seule fois et que vous n'écrivez plus jamais? Dans ce scénario, je créerais certainement un processus pour le tenir à jour avec la base de données. – rae1
Existe-t-il un moyen de réécrire l'index? –