2012-10-10 9 views
6

Pensavo che mergeFactor potesse essere considerato come numero massimo di segmenti, ma quando è impostato su 10, ho ottenuto 16 segmenti dopo l'indice e l'unione si è verificata quando il numero di segmenti supera 15 e 20. I am davvero confuso sulla media di mergeFactor.utilizzo di mergeFactor in solr 4.0

Ecco mia configurazione

<ramBufferSizeMB>32</ramBufferSizeMB> 
<maxBufferedDocs>100000</maxBufferedDocs> 
<mergeFactor>10</mergeFactor> 

risposta

10

Dal Solr Wiki - SolrPerformanceFactors - Merge Factor documentation

Il mergeFactor approssimativamente determina il numero di segmenti. Il valore mergeFactor indica a Lucene quanti segmenti di dimensioni uguali devono essere compilati prima di unirli in un singolo segmento. Può essere pensato come la base di un sistema numerico.

Non è un numero esatto, ma una linea guida per la gestione dell'indice su disco. Ecco qualche ulteriore buona guida su come ciò che diverse impostazioni di questo valore medio per le prestazioni del vostro indice:

mergeFactor Compromessi

alto valore del fattore di unione (ad esempio, 25):

  • Pro: Generalmente migliora la velocità di indicizzazione
  • con: unioni meno frequenti, causando una collezione con più file di indice che possono rallentare la ricerca

basso valore del fattore di fusione (per esempio, 2):

  • Pro: Più piccolo numero di file di indice, che accelera la ricerca.
  • Con: Più segmento unisce l'indice di rallentamento.

È possibile anche fare riferimento al mergeFactor documentation on the Lucidworks site per qualche dettaglio in più su come funziona il mergeFcator e può influire sulla performance dell'indice. Ma penso che la chiave qui è questo paragrafo:

Se la creazione di un nuovo segmento comporta che il numero di livello più basso segmenti a superare il valore mergeFactor, allora tutti quei segmenti sono fuse insieme per formare un unico grande segmento. Pertanto, se il fattore unione è dieci, ogni unione genera la creazione di un singolo segmento che è circa dieci volte più grande di ciascuno dei suoi dieci elementi costitutivi. Quando ci sono impostazioni di mergeFactor per questi segmenti più grandi, quindi a loro volta vengono uniti in un singolo segmento ancora più grande. Questo processo può continuare indefinitamente.

+1

C'è un blog fantastico sui segmenti merge.http: //blog.mikemccandless.com/2011/02/visualizing-lucenes-segment-merges.html – bata