2010-12-03 16 views
0

Je travaille avec Solr 1.4, et je veux tester mergeindexes.Fusion d'index avec SolR 1.4

Imaginez ces Cores suivants (de V et B):

http://img59.imageshack.us/img59/5804/coreaandb.png

Dans le noyau "A", il y a le document qui ont le même identifiant que dans le noyau B.

Je veux fusionner ces deux core dans un core C. Le but est d'obtenir un core C qui contient des documents fusionnés (basé sur id).

Par exemple, je veux obtenir le document suivant dans le noyau C:

  • id: 1
  • titre: rambo
  • tag
  • : super

Si j'appelle les méthode mergeindexes, je reçois le noyau suivant C:

http://localhost:8080/solr/admin/multicore?action=mergeindexes&core=coreC&indexDir=../../coreA/data/index&indexDir=../../coreB/data/index

http://img440.imageshack.us/img440/6818/coremerged.png

Savez-vous s'il est possible d'obtenir des documents fusionnés?

Merci pour votre aide,

Antoine

Répondre

0

Vous pouvez le faire côté client en utilisant SolrJ ou quelle que soit la plate-forme client que vous préférez.

pseudocode:

while documents in core B: 
    let docsB = docb1, docb2, ..., docb10 = fetch 10 documents from core B 
    let docsA = fetch documents from core A where id:docb1 OR id:docb2 OR ... id:docb10 
    for db,da in zip(docsB, docsA): 
    let docC = merge(db,da) 
    add docC to Solr core C 
+0

Pouvez-vous s'il vous plaît me dire plus? – Antoine

+0

@Antoine: quelle est votre plateforme client? –

+0

Je travaille sur Windows avec .NET Framework. – Antoine