Thanks Mark, going to try now...

markrmiller wrote:
> 
> Hmm -
> 
> Have you tested search speed (without optimizing) using a merge factor 
> of 2? If the speed is acceptable (should be much faster than MF:10), try 
> a merge factor of 3. Using a merge factor of 2 or 3 and never optimizing 
> should keep searches relatively fast, but also leave a lot of the index 
> files unchanged many times. You still would have to pay larger hits as 
> merges occurred, but most times you should only have to rsync the new 
> segments (and any shared segment files that changed). A merge factor of 
> 2 would not allow many additions before the large segment was changed, 
> but perhaps 3 could give a good compromise?
> 
> -- 
> - Mark
> 
> http://www.lucidimagination.com
> 
> 
> 
> Marc Sturlese wrote:
>> Thanks Mark, that really did the job! The speed loss in update time is
>> more
>> than compensated at optimizing time!
>>
>> Now I am trying to do another test... but not sure if Lucene have this
>> option, I am using Lucene 2.9-dev.
>>
>> As I am working with 3G index and always have to optimize (as I said
>> before,
>> I tried not to optimize to send my index via rsync faster but the speed
>> loss
>> to serve request in the slaves was huge). I wander if it's possible to do
>> "block optimizing" (I have just invented the word). The example would
>> be...
>> I have a 3G index optimized. I start executing updates to the index..
>> would
>> be possible to keep doing optimizes just on the new created segments?...
>> so
>> I would still have the 3G index and would be building another big index
>> from
>> the segments created from the updates This way I would have to send via
>> rsync to the slaves just the new "blog" (suposing the slaves already had
>> the
>> 3G index because I would have sended it before).
>> Is there any way to do something similar to that?
>> This has come to my mind cause I have to serve the index to the slaves as
>> many times as possible... and optimizing the index in just one "block"
>> makes
>> rsync job to take a long time.
>>
>> Thanks in advance
>>
>>
>> markrmiller wrote:
>>   
>>> Marc Sturlese wrote:
>>>     
>>>> Hey there,
>>>> I am creating an index of 3G... it's fast indexing but optimization
>>>> takes
>>>> about 10 min. I need to optimize it every time I update as if I don't
>>>> do
>>>> that, search requests will be much slower.
>>>> Wich parameter configuration would be the best to make optimize as fast
>>>> as
>>>> possible (I don't mind to use a lot of memory, at least for testing, if
>>>> I
>>>> can speed up the process).
>>>> Actually I am using for the IndexWriter:
>>>>
>>>>     <ramBufferSizeMB>1024</ramBufferSizeMB>
>>>>     <maxMergeDocs>2147483647</maxMergeDocs>
>>>>     <maxFieldLength>10000</maxFieldLength>
>>>>     <writeLockTimeout>1000</writeLockTimeout>
>>>>     <commitLockTimeout>10000</commitLockTimeout>
>>>>     <mergeFactor>10</mergeFactor>
>>>> Am I missing any important parameter to do that job?
>>>> Thanks in advance
>>>>
>>>>   
>>>>       
>>> How about using a merge factor of 2? This way you are pretty much always 
>>> optimized (old large segment, new small segment at most) - you pay a bit 
>>> in update speed, but I've found it to be very reasonable for many 
>>> applications.
>>>
>>> -- 
>>> - Mark
>>>
>>> http://www.lucidimagination.com
>>>
>>>
>>>
>>>
>>>
>>>     
>>
>>   
> 
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/optimize-an-index-as-fast-as-possible-tp22543267p22580123.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to