留言板

Rendere sincrono il reindex con Lucene - RISOLTO

thumbnail
Marco Rosetti,修改在10 年前。

Rendere sincrono il reindex con Lucene - RISOLTO

Junior Member 帖子: 68 加入日期: 13-3-6 最近的帖子
Ciao a tutti,
esiste un modo per rendere sincrono il reindex di un documento di Lucene?

Al momento è eseguito su un thread separato e questo mi crea alcuni problemi di visualizzazione. Avrei bisogno di attendere che questo sia completato prima di fare il refresh di una pagina

Grazie,
Marco
thumbnail
Daniele Baggio,修改在10 年前。

R: Rendere sincrono il reindex con Lucene

Expert 帖子: 336 加入日期: 08-12-5 最近的帖子
Che io sappia non c'è modo. In ogni modo mi pare che il tuo sviluppo abbia un problema se hai bisogno di rendere lucene sincrono.


Sent from my Android device with null
thumbnail
Marco Rosetti,修改在9 年前。

RE: Rendere sincrono il reindex con Lucene - RISOLTO

Junior Member 帖子: 68 加入日期: 13-3-6 最近的帖子
Credo di aver trovato una soluzione al problema.
Per farla breve, aggiungendo questa linea di codice
ProxyModeThreadLocal.setForceSync(true); 

viene forzata l'indicizzazione (lanciata da un messaggio sul message bus) ad essere eseguita in modo sincrono all'interno dello stesso thread che l'ha generata

Qualcuno ci vede qualche controindicazione?

-MR
thumbnail
Daniele Baggio,修改在9 年前。

RE: Rendere sincrono il reindex con Lucene - RISOLTO

Expert 帖子: 336 加入日期: 08-12-5 最近的帖子
Non credo che
ProxyModeThreadLocal.setForceSync(true); 
risolva il tuo caso.
Questo metodo agisce a livello di messagebus per regolare la distribuzione dei messagi nel cluster. Bob riguarda direttamente l'indicizzazione di Lucene che resta asincrona.
thumbnail
Marco Rosetti,修改在9 年前。

RE: Rendere sincrono il reindex con Lucene - RISOLTO

Junior Member 帖子: 68 加入日期: 13-3-6 最近的帖子
Daniele Baggio:
Non credo che
ProxyModeThreadLocal.setForceSync(true); 
risolva il tuo caso.
Questo metodo agisce a livello di messagebus per regolare la distribuzione dei messagi nel cluster. Bob riguarda direttamente l'indicizzazione di Lucene che resta asincrona.


Quello che ho notato è che l'indicizzazione asincrona viene lanciata da un messaggio sul message bus. Con quel comando viene forzata l'elaborazione sincrona del messaggio e di fatto viene resa sincrona anche l'indicizzazione
thumbnail
Aristide Cittadino,修改在9 年前。

RE: Rendere sincrono il reindex con Lucene - RISOLTO

New Member 帖子: 5 加入日期: 13-10-16 最近的帖子
CIao ,
non so se hai risolto, ma nel porta-ext .properties prova ad inserire questa riga:

index.with.thread=false
thumbnail
Marco Rosetti,修改在9 年前。

RE: Rendere sincrono il reindex con Lucene - RISOLTO

Junior Member 帖子: 68 加入日期: 13-3-6 最近的帖子
Aristide Cittadino:
CIao ,
non so se hai risolto, ma nel porta-ext .properties prova ad inserire questa riga:

index.with.thread=false


Grazie Aristide ma dai commenti del portal.properties sembra che la property index.with.thread sia usata solo al reindex iniziale (se abilitato)

#
# Set the following to true if you want the indexing on startup to be
# executed on a separate thread to speed up execution.
#
index.with.thread=false

ora non ho modo di verificare se effettivamente sia così, appena riesco provo e ti dico

-MR
thumbnail
Aristide Cittadino,修改在9 年前。

RE: Rendere sincrono il reindex con Lucene - RISOLTO

New Member 帖子: 5 加入日期: 13-10-16 最近的帖子
Marco Rosetti:
Aristide Cittadino:
CIao ,
non so se hai risolto, ma nel porta-ext .properties prova ad inserire questa riga:

index.with.thread=false


Grazie Aristide ma dai commenti del portal.properties sembra che la property index.with.thread sia usata solo al reindex iniziale (se abilitato)

#
# Set the following to true if you want the indexing on startup to be
# executed on a separate thread to speed up execution.
#
index.with.thread=false

ora non ho modo di verificare se effettivamente sia così, appena riesco provo e ti dico

-MR


Ciao Daniele,
grazie per la risposta, in realtà sarebbe interessante capire:
In una single page application che presenta sia la lista (gestita da lucene) di un'entità che la relativa form di inserimento (sottomessa via ajax), come posso eviatare che il reindex in un thread separato mostri nella lista i dati vecchi (dovuti al fatto che il reindex non è terminato)?