2013-06-24 5 views
0

Je vais travailler sur la fonctionnalité de recherche en utilisant Lucene. C'est la première fois que j'utilise Lucene, alors j'ai lu de la documentation, mais j'ai besoin de quelques conseils de personnes qui ont déjà expérimenté le Lucene. Lucene crée des fichiers d'index dans un répertoire. J'ai quatre serveurs. Mais ce qui n'est pas clair pour moi, c'est si les fichiers d'index (situés dans un répertoire réseau partagé) peuvent être partagés entre quatre serveurs en utilisant l'objet 'IndexSearcher' lors de la requête de recherche. Je me demande s'il n'y a pas de latence si les fichiers d'index sont partagés. Ou ai-je besoin de créer des fichiers d'index dans chaque serveur?Lucene recherche backend

Et aussi comment Lucene gère-t-il la synchronisation? disons que le processus dorsal met à jour les fichiers d'index lors de la demande de recherche.

Merci.

+0

Jetez un oeil à Solr . –

+0

Est-ce que lucene ne supporte pas la concurrence entre IndexSearcher et IndexWriter? – user826323

Répondre

0

Lucene est une bibliothèque de recherche. Il sait très bien faire des recherches, mais ne fournit généralement pas beaucoup de fonctionnalités pour gérer la simultanéité, ou gérer les demandes de plusieurs sources, en dehors de la sécurité des threads, et ce genre de choses. Il vous incombe généralement de gérer les demandes concurrentes, et ainsi de suite. Raw Lucene peut être un bon choix pour l'incorporation dans une base de code de service existante, en particulier.

Pour un serveur de recherche basé sur Lucene complet qui vous pouvez simplement configurer, d'acheminer les demandes, et il gère ce genre de chose pour vous, vous devriez regarder dans deux Apache Solr ou ElasticSearch