2015-06-11 9 views
9

Sto usando Ricerca Riak. Ad un certo punto, ho rimosso l'indice dal secchio. Dopo aver aggiunto alcuni nuovi oggetti nel bucket, ho ripristinato l'indice.Come indicizzare i dati non indicizzati esistenti nella ricerca riak?

Quando eseguo la ricerca in base all'indice, non riesco a trovare gli oggetti che non sono stati indicizzati.

Come posso indicizzarli ora? Penso che la soluzione sarebbe adatta anche per altri bucket legacy non indicizzati.

+0

Sembra più come un insetto Lo hai segnalato? –

+0

Penso che dovrebbe succedere così perché ho rimosso l'indice quando ho aggiunto i nuovi oggetti che evidentemente non erano indicizzati. – Hao

+1

Quando aggiungi l'indice, dovrebbe finire in uno stato coerente indipendentemente dalle azioni precedenti. Fai l'esempio riproducibile minimo e segnalalo. –

risposta

1

La mia soluzione per questo e alcuni problemi simili con gli indici di ricerca su Bucket-Types uso le seguenti procedure (solo in sviluppo) senza exp. in produzione con Riak ora in modo che qualcun altro deve rispondere che:

  1. eliminare il searchindex

    riakc_pb_socket: delete_search_index (Pid, < < "XXX" >>, []).

  2. Reindicizza con la creazione di un nuovo indice (in questo caso con predefinite valori applicati)

    riakc_pb_socket: create_search_index (Pid, < < "XXX" >>, < < "_yz_default" >>, [ ]).

dopo che l'indice dovrebbe essere aggiornato e non dovete modificare il codice in ogni caso ....

felice di codifica con Erlang e Riak

Canislupax