Quel est le meilleur moyen d'atteindre l'indexation en temps réel Lucene?Lucene indexation en temps réel?
Répondre
Obtenir un lecteur d'index à partir de l'éditeur d'index.
Mise à jour: On dirait que la méthode actuelle est open a directory reader using an index writer objet.
Comment ça va aider avec l'indexation en temps réel? – Mikos
En permettant aux recherches de trouver des documents avant un point de validation. Le lecteur obtenu de l'auteur est continuellement mis à jour au fur et à mesure que des documents sont ajoutés. –
En essayant de faire IndexReader reader = indexWriter.getReader(); La méthode getReader() du type IndexWriter n'est pas visible. http://lucene.apache.org/core/4_7_2/core/org/apache/lucene/index/IndexWriter.html?is-external=true –
Essayez Zoie
Zoie est prometteur, mais j'ai trouvé que la documentation et les exemples de code manquaient cruellement. De plus avec Zoie, l'indexation est rapide si les documents à indexer sont groupés, mais l'indexation de quelques documents à la fois est en réalité extrêmement lente. J'ai personnellement trouvé Lucene brut pour être une API plus facile à utiliser. –
Le wiki Lucene a quelques informations: http://wiki.apache.org/lucene-java/NearRealtimeSearch
Lucene dispose d'une fonctionnalité appelée recherche en temps quasi-réel pour répondre exactement à ce besoin.
Il nécessite que votre IndexReader se trouve dans la même JVM que votre IndexWriter.
Vous apportez des modifications à IndexWriter, puis ouvrez un lecteur directement à partir de l'enregistreur à l'aide de IndexReader.open (writer), ou sur les anciennes versions de Lucene writer.getReader(). Cet appel sera normalement très rapide (proportionnellement au nombre de modifications que vous avez effectuées depuis la dernière ouverture d'un lecteur) car il contourne la validation coûteuse normalement requise pour l'ouverture d'un lecteur. Il est capable de rechercher les changements non-engagés dans l'écrivain.
Ce lecteur recherche toujours un instantané instantané de l'enregistreur, c'est-à-dire tous les changements intervenus depuis l'ouverture de l'instantané.
- 1. Lucene Indexation et recherche
- 2. Graphes en temps réel
- 3. Diffusion en temps réel
- 4. enregistrement en temps réel
- 5. Indexation de Lucene avec des extensions parallèles
- 6. Indexation Lucene - Utilisation d'un service Web
- 7. Cloner MovieClip en temps réel
- 8. Services Web en temps réel
- 9. HTML5: son en temps réel
- 10. CorePlot graphique en temps réel
- 11. En utilisant T4MVC en temps réel projet
- 12. Graphiques en temps réel en Java
- 13. Temps réel avec Rails
- 14. UISlider et temps réel
- 15. Registres d'interruption en temps réel Motorola 68HC12
- 16. Analyse audio en temps réel sous Linux
- 17. Bungie Reach API - Statistiques en temps réel?
- 18. contournable en temps réel remplacer youtube url
- 19. Calculatrice en temps réel 'prix x quantité'
- 20. Programmation sur un système en temps réel
- 21. vidéo en temps réel streaming encodage rapide
- 22. SpeechRecognitionEngine.SetInputToAudioStream streaming audio en temps réel
- 23. Entrée en temps réel dans timesprite/fogbugz
- 24. Architecture pour système en temps réel?
- 25. Validation de formulaire en temps réel jQuery
- 26. Comment compresser les javascript en temps réel?
- 27. Visualisation audio en temps réel dans Cocoa?
- 28. Sortie vers jTextArea en temps réel
- 29. Filtrage en temps réel de la listbox
- 30. Sphinx: Initialiser l'index en temps réel
Indexation en temps réel de quoi? Pourriez-vous expliquer un peu plus ce que vous cherchez. –
Ayant passé 2 ans à travailler sur ça en solr, je dois dire: solr n'est tout simplement pas la bonne plate-forme en matière d'indexation en temps réel. Les validations sont très lourdes sur les index volumineux - j'ai entendu parler de grandes installations qui peuvent à peine gérer 1 commit par heure. Cela étant dit, un projet récent appelé Lucandra peut s'avérer prometteur - je ne trouve pas de docs maintenant, mais je pensais avoir entendu quelque chose à propos de rien à commettre. http://github.com/tjake/Lucandra#readme –
Vous devez expliquer plus - il n'y a pas de signification spécifique à "temps réel": au minimum, vous devez spécifier ce qui serait un délai acceptable. Le temps réel doux (comme, prend 5 à 10 secondes pour que les mises à jour s'affichent) n'est pas difficile, par exemple pour les index non volumineux. – StaxMan