You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by Michael McCandless <lu...@mikemccandless.com> on 2009/07/31 11:34:04 UTC
Re: ThreadedIndexWriter vs. IndexWriter
Hmm... this doesn't sound right.
That example (ThreadedIndexWriter) is meant to be a drop-in
replacement, wherever you use an IndexWriter, that keeps an
under-the-hood thread pool (using java.util.concurrent.*) to
add/update documents with multiple threads.
It should not result in a smaller index.
Can you sanity check the index? Eg is numDocs() the same for both?
You definitely called close() on the writer, right? That method waits
for all threads to finish their work before actually closing.
Mike
On Thu, Jul 30, 2009 at 8:01 PM, Jibo John<ji...@mac.com> wrote:
> While trying out a few tuning options using contrib/benchmak as described in
> LIA (2nd edition) book, I had an interesting observation.
>
> If I use a ThreadedIndexWriter (picked the example from lia2e, page 356)
> instead of IndexWriter, the index size got reduced by 40% compared to using
> IndexWriter.
> Index related configuration were the same for both the tests in the alg
> file.
>
> I am curious how come using a threaded index writer will have an impact on
> the index size.
>
> Appreciate your input.
>
> Thanks,
> -Jibo
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Phil Whelan <ph...@gmail.com>.
Hi Jibo,
Have you tried optimizing indexes? I do not know anything about the
implementation of ThreadedIndexWriter, but if they both optimize down
to the same size, it could just mean that ThreadedIndexWriter is not
as optimized.
Thanks,
Phil
On Fri, Jul 31, 2009 at 11:38 AM, Jibo John<ji...@mac.com> wrote:
> Number of docs are the same in the index for both the cases (200,000).
> I haven't altered the benchmark/ code, but, used a profiler to verify that
> Benchmark main thread is closed only after all other threads are closed.
>
> Thanks,
> -Jibo
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Michael McCandless <lu...@mikemccandless.com>.
Woops sorry for the confusion!
Mike
On Sat, Aug 1, 2009 at 1:03 PM, Phil Whelan<ph...@gmail.com> wrote:
> Hi Mike,
>
> It's Jibo, not me, having the problem. But thanks for the link. I was
> interested to look at the code. Will be buying the book soon.
>
> Phil
>
> On Sat, Aug 1, 2009 at 2:08 AM, Michael McCandless
> <lu...@mikemccandless.com> wrote:
>>
>> (Please note that ThreadedIndexWriter is source code available with
>> the upcoming revision to Lucene in Action.)
>>
>> Phil, is it possible you are using an older version of the book's
>> source code? In particular, can you check whether your version of
>> ThreadedIndexWriter.java has this:
>>
>> public void close(boolean doWait) throws CorruptIndexException, IOException {
>> finish();
>> super.close(doWait);
>> }
>>
>> (I vaguely remember that being missing from earlier releases, which
>> could explain what you're seeing). If you are missing that, can you
>> download the current code from http://www.manning.com/hatcher3 and try
>> again?
>>
>> If that's not the problem... can you post the benchmark alg you are
>> using in each case?
>>
>> Mike
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Phil Whelan <ph...@gmail.com>.
Hi Mike,
It's Jibo, not me, having the problem. But thanks for the link. I was
interested to look at the code. Will be buying the book soon.
Phil
On Sat, Aug 1, 2009 at 2:08 AM, Michael McCandless
<lu...@mikemccandless.com> wrote:
>
> (Please note that ThreadedIndexWriter is source code available with
> the upcoming revision to Lucene in Action.)
>
> Phil, is it possible you are using an older version of the book's
> source code? In particular, can you check whether your version of
> ThreadedIndexWriter.java has this:
>
> public void close(boolean doWait) throws CorruptIndexException, IOException {
> finish();
> super.close(doWait);
> }
>
> (I vaguely remember that being missing from earlier releases, which
> could explain what you're seeing). If you are missing that, can you
> download the current code from http://www.manning.com/hatcher3 and try
> again?
>
> If that's not the problem... can you post the benchmark alg you are
> using in each case?
>
> Mike
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Michael McCandless <lu...@mikemccandless.com>.
Phew! Thank you for raising this... it was a sneaky one.
Mike
On Tue, Aug 11, 2009 at 4:13 PM, Jibo John<ji...@mac.com> wrote:
> Mike,
>
> Yes, it works perfect !
>
> I did observe a dip in the indexing throughput (1855 recs/sec vs. 2200
> recs/sec previously), but, more importantly, no data is lost this time.
>
> Thanks for helping me nail this down.
>
> -Jibo
>
>
>
> On Aug 11, 2009, at 11:12 AM, Michael McCandless wrote:
>
>> OK I found the problem!
>>
>> It was losing docs from the queue, when shutting down the thread pool,
>> because we were calling super's addDocument(doc) not addDocument(doc,
>> analyzer). IndexWriter was simply forwarding that call to
>> ThreadedIndexWriter's addDocument(doc, analyzer) which in turn would
>> do nothing because the thread pool was already told to shut down.
>> Larger queues made it much more likely to happen.
>>
>> Can you try the new version (attached)?
>>
>> Also, make sure you add 'doc.reuse.fields=false' to your alg (on
>> trunk).
>>
>> Mike
>>
>> On Tue, Aug 11, 2009 at 12:39 PM, Jibo John<ji...@mac.com> wrote:
>>>
>>> Mike,
>>>
>>> I wasn't exactly using the lucene core jar from MEAP.
>>>
>>> I have been building lucene from the source, and running the tests under
>>> lucene/java/trunk/contrib/benchmark/ (checked out 2 weeks ago, I guess)
>>> and, also under lucene/java/tags/lucene_2_4_1/contrib/benchmark/.
>>> In both cases, copied CreateThreadedIndexTask to
>>> org.apache.lucene.benchmark.byTask.tasks and ThreadedIndexWriter to
>>> org.apache.lucene.index.
>>>
>>> I have observed the issue in both the versions of lucene.
>>>
>>> Indexes were optimized separately using Lucli.
>>>
>>>
>>> PFA the classes and the alg.
>>>
>>>
>>>
>>>
>>>
>>>
>>> Thank you for your help with this one.
>>>
>>> -Jibo
>>>
>>>
>>>
>>>
>>> On Aug 11, 2009, at 3:13 AM, Michael McCandless wrote:
>>>
>>>> I'm baffled why you're losing docs w/ ThreadedIndexWriter.
>>>>
>>>> One question: your Lucene core JAR seems to be newer than the last
>>>> MEAP update. Did you update it manually?
>>>>
>>>> Also, your indexes were optimized, but your algs don't have an
>>>> optimize step -- did you separately run an optimize?
>>>>
>>>> Could you zip up the whole shebang (ThreadedIndexWriter.java,
>>>> CreateThreadedIndexTask.java, the algs) & post? Please CC me directly
>>>> so I can grab the zip file... thanks.
>>>>
>>>> Mike
>>>>
>>>> On Mon, Aug 3, 2009 at 12:37 PM, Jibo John<ji...@mac.com> wrote:
>>>>>
>>>>> Mike,
>>>>>
>>>>> Verified that I have the latest source code.
>>>>> Here are the alg files and the checkindexer output.
>>>>>
>>>>>
>>>>> ----------------------------------------- indexwriter
>>>>> alg----------------------------------------------------------------
>>>>>
>>>>> analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
>>>>> doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
>>>>> directory=FSDirectory
>>>>>
>>>>> doc.stored = true #A
>>>>> docs.file=wikipedia.lines.txt
>>>>> ram.flush.mb=50
>>>>> compound=false
>>>>> merge.factor=5
>>>>> doc.add.log.step=1000
>>>>> doc.term.vector=false
>>>>> doc.term.vector.positions=false
>>>>> doc.term.vector.offsets=false
>>>>>
>>>>> { "Rounds" #B
>>>>> ResetSystemErase
>>>>> { "BuildIndex"
>>>>> -CreateIndex()
>>>>> [ { "AddDocs" AddDoc > : 40000 ] : 5
>>>>> #C
>>>>> -CloseIndex()
>>>>> }
>>>>> NewRound
>>>>> } : 1
>>>>>
>>>>> RepSumByPrefRound BuildIndex #D
>>>>>
>>>>> -----------------------------------------threadedindexwriter alg
>>>>> ----------------------------------------------------------------
>>>>>
>>>>> analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
>>>>> doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
>>>>> directory=FSDirectory
>>>>>
>>>>> doc.stored = true #A
>>>>> docs.file=wikipedia.lines.txt
>>>>> ram.flush.mb=50
>>>>> compound=false
>>>>> merge.factor=5
>>>>> doc.add.log.step=1000
>>>>> doc.term.vector=false
>>>>> doc.term.vector.positions=false
>>>>> doc.term.vector.offsets=false
>>>>> writer.num.threads=15
>>>>> writer.max.thread.queue.size=75
>>>>> work.dir=work_t
>>>>>
>>>>>
>>>>> { "Rounds" #B
>>>>> ResetSystemErase
>>>>> { "BuildIndex"
>>>>> -CreateThreadedIndex()
>>>>> { "AddDocs" AddDoc > : 200000
>>>>> -CloseIndex()
>>>>> }
>>>>> NewRound
>>>>> } : 1
>>>>>
>>>>> RepSumByPrefRound BuildIndex #D
>>>>>
>>>>>
>>>>> -----------------------------------------------threadedindexwriter
>>>>> checkindex ----------------------------------------------------------
>>>>>
>>>>>
>>>>> $ java -classpath
>>>>>
>>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/build/lucene-core-2.9-dev.jar
>>>>> org.apache.lucene.index.CheckIndex
>>>>>
>>>>>
>>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work_t/index
>>>>>
>>>>> NOTE: testing will be more thorough if you run java with
>>>>> '-ea:org.apache.lucene...', so assertions are enabled
>>>>>
>>>>> Opening index @
>>>>>
>>>>>
>>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work_t/index
>>>>>
>>>>> Segments file=segments_3 numSegments=1 version=FORMAT_DIAGNOSTICS
>>>>> [Lucene
>>>>> 2.9]
>>>>> 1 of 1: name=_p docCount=199941
>>>>> compound=true
>>>>> hasProx=true
>>>>> numFiles=3
>>>>> size (MB)=317.1
>>>>> diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev 779767M -
>>>>> 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386, optimize=true,
>>>>> mergeDocStores=false, java.vendor=Apple Inc., os.version=10.5.7,
>>>>> source=merge, mergeFactor=5}
>>>>> docStoreOffset=0
>>>>> docStoreSegment=_0
>>>>> docStoreIsCompoundFile=false
>>>>> no deletions
>>>>> test: open reader.........OK
>>>>> test: fields, norms.......OK [4 fields]
>>>>> test: terms, freq, prox...OK [1269552 terms; 67887116 terms/docs
>>>>> pairs;
>>>>> 133241176 tokens]
>>>>> test: stored fields.......OK [199941 total field count; avg 1 fields
>>>>> per
>>>>> doc]
>>>>> test: term vectors........OK [0 total vector count; avg 0 term/freq
>>>>> vector
>>>>> fields per doc]
>>>>>
>>>>> No problems were detected with this index.
>>>>>
>>>>> ------------------------------------------indexwriter checkindex
>>>>> ---------------------------------------------------------------
>>>>>
>>>>> $ java -classpath
>>>>>
>>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/build/lucene-core-2.9-dev.jar
>>>>> org.apache.lucene.index.CheckIndex
>>>>>
>>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work/index
>>>>>
>>>>> NOTE: testing will be more thorough if you run java with
>>>>> '-ea:org.apache.lucene...', so assertions are enabled
>>>>>
>>>>> Opening index @
>>>>>
>>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work/index
>>>>>
>>>>> Segments file=segments_a numSegments=1 version=FORMAT_DIAGNOSTICS
>>>>> [Lucene
>>>>> 2.9]
>>>>> 1 of 1: name=_18 docCount=200000
>>>>> compound=true
>>>>> hasProx=true
>>>>> numFiles=1
>>>>> size (MB)=427.445
>>>>> diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev 779767M -
>>>>> 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386, optimize=true,
>>>>> mergeDocStores=true, java.vendor=Apple Inc., os.version=10.5.7,
>>>>> source=merge, mergeFactor=4}
>>>>> no deletions
>>>>> test: open reader.........OK
>>>>> test: fields, norms.......OK [4 fields]
>>>>> test: terms, freq, prox...OK [3512343 terms; 80020204 terms/docs
>>>>> pairs;
>>>>> 163219760 tokens]
>>>>> test: stored fields.......OK [200000 total field count; avg 1 fields
>>>>> per
>>>>> doc]
>>>>> test: term vectors........OK [0 total vector count; avg 0 term/freq
>>>>> vector
>>>>> fields per doc]
>>>>>
>>>>> No problems were detected with this index.
>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------------------------------------------
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Thanks,
>>>>> -Jibo
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Aug 1, 2009, at 2:08 AM, Michael McCandless wrote:
>>>>>
>>>>>> (Please note that ThreadedIndexWriter is source code available with
>>>>>> the upcoming revision to Lucene in Action.)
>>>>>>
>>>>>> Phil, is it possible you are using an older version of the book's
>>>>>> source code? In particular, can you check whether your version of
>>>>>> ThreadedIndexWriter.java has this:
>>>>>>
>>>>>> public void close(boolean doWait) throws CorruptIndexException,
>>>>>> IOException {
>>>>>> finish();
>>>>>> super.close(doWait);
>>>>>> }
>>>>>>
>>>>>> (I vaguely remember that being missing from earlier releases, which
>>>>>> could explain what you're seeing). If you are missing that, can you
>>>>>> download the current code from http://www.manning.com/hatcher3 and try
>>>>>> again?
>>>>>>
>>>>>> If that's not the problem... can you post the benchmark alg you are
>>>>>> using in each case?
>>>>>>
>>>>>> Mike
>>>>>>
>>>>>> On Fri, Jul 31, 2009 at 8:26 PM, Jibo John<ji...@mac.com> wrote:
>>>>>>>
>>>>>>> Hi Phil,
>>>>>>>
>>>>>>> It's 5 threads for IndexWriter.
>>>>>>>
>>>>>>> For ThreadedIndexWriter, I used:
>>>>>>>
>>>>>>> writer.num.threads=16
>>>>>>> writer.max.thread.queue.size=80
>>>>>>>
>>>>>>> Thanks,
>>>>>>> -Jibo
>>>>>>>
>>>>>>> On Jul 31, 2009, at 5:01 PM, Phil Whelan wrote:
>>>>>>>
>>>>>>>> Hi Jibo,
>>>>>>>>
>>>>>>>> Your mergeFactor is different, and the resulting numFiles (segment
>>>>>>>> files) is different. Maybe each thread is responsible for a segment
>>>>>>>> file. Just curious - do you have 3 threads?
>>>>>>>>
>>>>>>>> Phil
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>>>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>
>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Jibo John <ji...@mac.com>.
Mike,
Yes, it works perfect !
I did observe a dip in the indexing throughput (1855 recs/sec vs. 2200
recs/sec previously), but, more importantly, no data is lost this time.
Thanks for helping me nail this down.
-Jibo
On Aug 11, 2009, at 11:12 AM, Michael McCandless wrote:
> OK I found the problem!
>
> It was losing docs from the queue, when shutting down the thread pool,
> because we were calling super's addDocument(doc) not addDocument(doc,
> analyzer). IndexWriter was simply forwarding that call to
> ThreadedIndexWriter's addDocument(doc, analyzer) which in turn would
> do nothing because the thread pool was already told to shut down.
> Larger queues made it much more likely to happen.
>
> Can you try the new version (attached)?
>
> Also, make sure you add 'doc.reuse.fields=false' to your alg (on
> trunk).
>
> Mike
>
> On Tue, Aug 11, 2009 at 12:39 PM, Jibo John<ji...@mac.com> wrote:
>> Mike,
>>
>> I wasn't exactly using the lucene core jar from MEAP.
>>
>> I have been building lucene from the source, and running the tests
>> under
>> lucene/java/trunk/contrib/benchmark/ (checked out 2 weeks ago, I
>> guess)
>> and, also under lucene/java/tags/lucene_2_4_1/contrib/benchmark/.
>> In both cases, copied CreateThreadedIndexTask to
>> org.apache.lucene.benchmark.byTask.tasks and ThreadedIndexWriter to
>> org.apache.lucene.index.
>>
>> I have observed the issue in both the versions of lucene.
>>
>> Indexes were optimized separately using Lucli.
>>
>>
>> PFA the classes and the alg.
>>
>>
>>
>>
>>
>>
>> Thank you for your help with this one.
>>
>> -Jibo
>>
>>
>>
>>
>> On Aug 11, 2009, at 3:13 AM, Michael McCandless wrote:
>>
>>> I'm baffled why you're losing docs w/ ThreadedIndexWriter.
>>>
>>> One question: your Lucene core JAR seems to be newer than the last
>>> MEAP update. Did you update it manually?
>>>
>>> Also, your indexes were optimized, but your algs don't have an
>>> optimize step -- did you separately run an optimize?
>>>
>>> Could you zip up the whole shebang (ThreadedIndexWriter.java,
>>> CreateThreadedIndexTask.java, the algs) & post? Please CC me
>>> directly
>>> so I can grab the zip file... thanks.
>>>
>>> Mike
>>>
>>> On Mon, Aug 3, 2009 at 12:37 PM, Jibo John<ji...@mac.com> wrote:
>>>>
>>>> Mike,
>>>>
>>>> Verified that I have the latest source code.
>>>> Here are the alg files and the checkindexer output.
>>>>
>>>>
>>>> ----------------------------------------- indexwriter
>>>> alg----------------------------------------------------------------
>>>>
>>>> analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
>>>> doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
>>>> directory=FSDirectory
>>>>
>>>> doc.stored =
>>>> true #A
>>>> docs.file=wikipedia.lines.txt
>>>> ram.flush.mb=50
>>>> compound=false
>>>> merge.factor=5
>>>> doc.add.log.step=1000
>>>> doc.term.vector=false
>>>> doc.term.vector.positions=false
>>>> doc.term.vector.offsets=false
>>>>
>>>> { "Rounds
>>>> " #B
>>>> ResetSystemErase
>>>> { "BuildIndex"
>>>> -CreateIndex()
>>>> [ { "AddDocs" AddDoc > : 40000 ] : 5
>>>> #C
>>>> -CloseIndex()
>>>> }
>>>> NewRound
>>>> } : 1
>>>>
>>>> RepSumByPrefRound
>>>> BuildIndex #D
>>>>
>>>> -----------------------------------------threadedindexwriter alg
>>>> ----------------------------------------------------------------
>>>>
>>>> analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
>>>> doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
>>>> directory=FSDirectory
>>>>
>>>> doc.stored =
>>>> true #A
>>>> docs.file=wikipedia.lines.txt
>>>> ram.flush.mb=50
>>>> compound=false
>>>> merge.factor=5
>>>> doc.add.log.step=1000
>>>> doc.term.vector=false
>>>> doc.term.vector.positions=false
>>>> doc.term.vector.offsets=false
>>>> writer.num.threads=15
>>>> writer.max.thread.queue.size=75
>>>> work.dir=work_t
>>>>
>>>>
>>>> { "Rounds
>>>> " #B
>>>> ResetSystemErase
>>>> { "BuildIndex"
>>>> -CreateThreadedIndex()
>>>> { "AddDocs" AddDoc > : 200000
>>>> -CloseIndex()
>>>> }
>>>> NewRound
>>>> } : 1
>>>>
>>>> RepSumByPrefRound
>>>> BuildIndex #D
>>>>
>>>>
>>>> -----------------------------------------------threadedindexwriter
>>>> checkindex
>>>> ----------------------------------------------------------
>>>>
>>>>
>>>> $ java -classpath
>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/build/lucene-core-2.9-
>>>> dev.jar
>>>> org.apache.lucene.index.CheckIndex
>>>>
>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/
>>>> work_t/index
>>>>
>>>> NOTE: testing will be more thorough if you run java with
>>>> '-ea:org.apache.lucene...', so assertions are enabled
>>>>
>>>> Opening index @
>>>>
>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/
>>>> work_t/index
>>>>
>>>> Segments file=segments_3 numSegments=1 version=FORMAT_DIAGNOSTICS
>>>> [Lucene
>>>> 2.9]
>>>> 1 of 1: name=_p docCount=199941
>>>> compound=true
>>>> hasProx=true
>>>> numFiles=3
>>>> size (MB)=317.1
>>>> diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev
>>>> 779767M -
>>>> 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386, optimize=true,
>>>> mergeDocStores=false, java.vendor=Apple Inc., os.version=10.5.7,
>>>> source=merge, mergeFactor=5}
>>>> docStoreOffset=0
>>>> docStoreSegment=_0
>>>> docStoreIsCompoundFile=false
>>>> no deletions
>>>> test: open reader.........OK
>>>> test: fields, norms.......OK [4 fields]
>>>> test: terms, freq, prox...OK [1269552 terms; 67887116 terms/docs
>>>> pairs;
>>>> 133241176 tokens]
>>>> test: stored fields.......OK [199941 total field count; avg 1
>>>> fields per
>>>> doc]
>>>> test: term vectors........OK [0 total vector count; avg 0 term/
>>>> freq
>>>> vector
>>>> fields per doc]
>>>>
>>>> No problems were detected with this index.
>>>>
>>>> ------------------------------------------indexwriter checkindex
>>>> ---------------------------------------------------------------
>>>>
>>>> $ java -classpath
>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/build/lucene-core-2.9-
>>>> dev.jar
>>>> org.apache.lucene.index.CheckIndex
>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/
>>>> work/index
>>>>
>>>> NOTE: testing will be more thorough if you run java with
>>>> '-ea:org.apache.lucene...', so assertions are enabled
>>>>
>>>> Opening index @
>>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/
>>>> work/index
>>>>
>>>> Segments file=segments_a numSegments=1 version=FORMAT_DIAGNOSTICS
>>>> [Lucene
>>>> 2.9]
>>>> 1 of 1: name=_18 docCount=200000
>>>> compound=true
>>>> hasProx=true
>>>> numFiles=1
>>>> size (MB)=427.445
>>>> diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev
>>>> 779767M -
>>>> 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386, optimize=true,
>>>> mergeDocStores=true, java.vendor=Apple Inc., os.version=10.5.7,
>>>> source=merge, mergeFactor=4}
>>>> no deletions
>>>> test: open reader.........OK
>>>> test: fields, norms.......OK [4 fields]
>>>> test: terms, freq, prox...OK [3512343 terms; 80020204 terms/docs
>>>> pairs;
>>>> 163219760 tokens]
>>>> test: stored fields.......OK [200000 total field count; avg 1
>>>> fields per
>>>> doc]
>>>> test: term vectors........OK [0 total vector count; avg 0 term/
>>>> freq
>>>> vector
>>>> fields per doc]
>>>>
>>>> No problems were detected with this index.
>>>>
>>>>
>>>> ---------------------------------------------------------------------------------------------------------
>>>>
>>>>
>>>>
>>>>
>>>> Thanks,
>>>> -Jibo
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Aug 1, 2009, at 2:08 AM, Michael McCandless wrote:
>>>>
>>>>> (Please note that ThreadedIndexWriter is source code available
>>>>> with
>>>>> the upcoming revision to Lucene in Action.)
>>>>>
>>>>> Phil, is it possible you are using an older version of the book's
>>>>> source code? In particular, can you check whether your version of
>>>>> ThreadedIndexWriter.java has this:
>>>>>
>>>>> public void close(boolean doWait) throws CorruptIndexException,
>>>>> IOException {
>>>>> finish();
>>>>> super.close(doWait);
>>>>> }
>>>>>
>>>>> (I vaguely remember that being missing from earlier releases,
>>>>> which
>>>>> could explain what you're seeing). If you are missing that, can
>>>>> you
>>>>> download the current code from http://www.manning.com/hatcher3
>>>>> and try
>>>>> again?
>>>>>
>>>>> If that's not the problem... can you post the benchmark alg you
>>>>> are
>>>>> using in each case?
>>>>>
>>>>> Mike
>>>>>
>>>>> On Fri, Jul 31, 2009 at 8:26 PM, Jibo John<ji...@mac.com>
>>>>> wrote:
>>>>>>
>>>>>> Hi Phil,
>>>>>>
>>>>>> It's 5 threads for IndexWriter.
>>>>>>
>>>>>> For ThreadedIndexWriter, I used:
>>>>>>
>>>>>> writer.num.threads=16
>>>>>> writer.max.thread.queue.size=80
>>>>>>
>>>>>> Thanks,
>>>>>> -Jibo
>>>>>>
>>>>>> On Jul 31, 2009, at 5:01 PM, Phil Whelan wrote:
>>>>>>
>>>>>>> Hi Jibo,
>>>>>>>
>>>>>>> Your mergeFactor is different, and the resulting numFiles
>>>>>>> (segment
>>>>>>> files) is different. Maybe each thread is responsible for a
>>>>>>> segment
>>>>>>> file. Just curious - do you have 3 threads?
>>>>>>>
>>>>>>> Phil
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>>>>> For additional commands, e-mail: java-user-
>>>>>>> help@lucene.apache.org
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>>>
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Michael McCandless <lu...@mikemccandless.com>.
OK I found the problem!
It was losing docs from the queue, when shutting down the thread pool,
because we were calling super's addDocument(doc) not addDocument(doc,
analyzer). IndexWriter was simply forwarding that call to
ThreadedIndexWriter's addDocument(doc, analyzer) which in turn would
do nothing because the thread pool was already told to shut down.
Larger queues made it much more likely to happen.
Can you try the new version (attached)?
Also, make sure you add 'doc.reuse.fields=false' to your alg (on
trunk).
Mike
On Tue, Aug 11, 2009 at 12:39 PM, Jibo John<ji...@mac.com> wrote:
> Mike,
>
> I wasn't exactly using the lucene core jar from MEAP.
>
> I have been building lucene from the source, and running the tests under
> lucene/java/trunk/contrib/benchmark/ (checked out 2 weeks ago, I guess)
> �and, also under �lucene/java/tags/lucene_2_4_1/contrib/benchmark/.
> In both cases, copied CreateThreadedIndexTask to
> org.apache.lucene.benchmark.byTask.tasks and ThreadedIndexWriter to
> org.apache.lucene.index.
>
> I have observed the issue in both the versions of lucene.
>
> Indexes were optimized separately using Lucli.
>
>
> PFA the classes and the alg.
>
>
>
>
>
>
> Thank you for your help with this one.
>
> -Jibo
>
>
>
>
> On Aug 11, 2009, at 3:13 AM, Michael McCandless wrote:
>
>> I'm baffled why you're losing docs w/ ThreadedIndexWriter.
>>
>> One question: your Lucene core JAR seems to be newer than the last
>> MEAP update. �Did you update it manually?
>>
>> Also, your indexes were optimized, but your algs don't have an
>> optimize step -- did you separately run an optimize?
>>
>> Could you zip up the whole shebang (ThreadedIndexWriter.java,
>> CreateThreadedIndexTask.java, the algs) & post? �Please CC me directly
>> so I can grab the zip file... thanks.
>>
>> Mike
>>
>> On Mon, Aug 3, 2009 at 12:37 PM, Jibo John<ji...@mac.com> wrote:
>>>
>>> Mike,
>>>
>>> Verified that I have the latest source code.
>>> Here are the alg files and the checkindexer output.
>>>
>>>
>>> ----------------------------------------- indexwriter
>>> alg----------------------------------------------------------------
>>>
>>> analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
>>> doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
>>> directory=FSDirectory
>>>
>>> doc.stored = true � � � � � � � � � � � � � � � � � � � � � � � � � �#A
>>> docs.file=wikipedia.lines.txt
>>> ram.flush.mb=50
>>> compound=false
>>> merge.factor=5
>>> doc.add.log.step=1000
>>> doc.term.vector=false
>>> doc.term.vector.positions=false
>>> doc.term.vector.offsets=false
>>>
>>> { "Rounds" � � � � � � � � � � � � � � � � � � � � � � � � � � � � � #B
>>> �ResetSystemErase
>>> �{ "BuildIndex"
>>> �-CreateIndex()
>>> �[ { "AddDocs" AddDoc > : 40000 ] : 5
>>> �#C
>>> �-CloseIndex()
>>> �}
>>> �NewRound
>>> } : 1
>>>
>>> RepSumByPrefRound BuildIndex � � � � � � � � � � � � � � � � � � � � #D
>>>
>>> -----------------------------------------threadedindexwriter alg
>>> ----------------------------------------------------------------
>>>
>>> analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
>>> doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
>>> directory=FSDirectory
>>>
>>> doc.stored = true � � � � � � � � � � � � � � � � � � � � � � � � � �#A
>>> docs.file=wikipedia.lines.txt
>>> ram.flush.mb=50
>>> compound=false
>>> merge.factor=5
>>> doc.add.log.step=1000
>>> doc.term.vector=false
>>> doc.term.vector.positions=false
>>> doc.term.vector.offsets=false
>>> writer.num.threads=15
>>> writer.max.thread.queue.size=75
>>> work.dir=work_t
>>>
>>>
>>> { "Rounds" � � � � � � � � � � � � � � � � � � � � � � � � � � � � � #B
>>> �ResetSystemErase
>>> �{ "BuildIndex"
>>> �-CreateThreadedIndex()
>>> �{ "AddDocs" AddDoc > : 200000
>>> �-CloseIndex()
>>> �}
>>> �NewRound
>>> } : 1
>>>
>>> RepSumByPrefRound BuildIndex � � � � � � � � � � � � � � � � � � � � #D
>>>
>>>
>>> -----------------------------------------------threadedindexwriter
>>> checkindex ----------------------------------------------------------
>>>
>>>
>>> $ java -classpath
>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/build/lucene-core-2.9-dev.jar
>>> org.apache.lucene.index.CheckIndex
>>>
>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work_t/index
>>>
>>> NOTE: testing will be more thorough if you run java with
>>> '-ea:org.apache.lucene...', so assertions are enabled
>>>
>>> Opening index @
>>>
>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work_t/index
>>>
>>> Segments file=segments_3 numSegments=1 version=FORMAT_DIAGNOSTICS [Lucene
>>> 2.9]
>>> �1 of 1: name=_p docCount=199941
>>> �compound=true
>>> �hasProx=true
>>> �numFiles=3
>>> �size (MB)=317.1
>>> �diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev 779767M -
>>> 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386, optimize=true,
>>> mergeDocStores=false, java.vendor=Apple Inc., os.version=10.5.7,
>>> source=merge, mergeFactor=5}
>>> �docStoreOffset=0
>>> �docStoreSegment=_0
>>> �docStoreIsCompoundFile=false
>>> �no deletions
>>> �test: open reader.........OK
>>> �test: fields, norms.......OK [4 fields]
>>> �test: terms, freq, prox...OK [1269552 terms; 67887116 terms/docs pairs;
>>> 133241176 tokens]
>>> �test: stored fields.......OK [199941 total field count; avg 1 fields per
>>> doc]
>>> �test: term vectors........OK [0 total vector count; avg 0 term/freq
>>> vector
>>> fields per doc]
>>>
>>> No problems were detected with this index.
>>>
>>> ------------------------------------------indexwriter checkindex
>>> ---------------------------------------------------------------
>>>
>>> $ java -classpath
>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/build/lucene-core-2.9-dev.jar
>>> org.apache.lucene.index.CheckIndex
>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work/index
>>>
>>> NOTE: testing will be more thorough if you run java with
>>> '-ea:org.apache.lucene...', so assertions are enabled
>>>
>>> Opening index @
>>> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work/index
>>>
>>> Segments file=segments_a numSegments=1 version=FORMAT_DIAGNOSTICS [Lucene
>>> 2.9]
>>> �1 of 1: name=_18 docCount=200000
>>> �compound=true
>>> �hasProx=true
>>> �numFiles=1
>>> �size (MB)=427.445
>>> �diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev 779767M -
>>> 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386, optimize=true,
>>> mergeDocStores=true, java.vendor=Apple Inc., os.version=10.5.7,
>>> source=merge, mergeFactor=4}
>>> �no deletions
>>> �test: open reader.........OK
>>> �test: fields, norms.......OK [4 fields]
>>> �test: terms, freq, prox...OK [3512343 terms; 80020204 terms/docs pairs;
>>> 163219760 tokens]
>>> �test: stored fields.......OK [200000 total field count; avg 1 fields per
>>> doc]
>>> �test: term vectors........OK [0 total vector count; avg 0 term/freq
>>> vector
>>> fields per doc]
>>>
>>> No problems were detected with this index.
>>>
>>>
>>> ---------------------------------------------------------------------------------------------------------
>>>
>>>
>>>
>>>
>>> Thanks,
>>> -Jibo
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Aug 1, 2009, at 2:08 AM, Michael McCandless wrote:
>>>
>>>> (Please note that ThreadedIndexWriter is source code available with
>>>> the upcoming revision to Lucene in Action.)
>>>>
>>>> Phil, is it possible you are using an older version of the book's
>>>> source code? �In particular, can you check whether your version of
>>>> ThreadedIndexWriter.java has this:
>>>>
>>>> �public void close(boolean doWait) throws CorruptIndexException,
>>>> IOException {
>>>> �finish();
>>>> �super.close(doWait);
>>>> �}
>>>>
>>>> (I vaguely remember that being missing from earlier releases, which
>>>> could explain what you're seeing). �If you are missing that, can you
>>>> download the current code from http://www.manning.com/hatcher3 and try
>>>> again?
>>>>
>>>> If that's not the problem... can you post the benchmark alg you are
>>>> using in each case?
>>>>
>>>> Mike
>>>>
>>>> On Fri, Jul 31, 2009 at 8:26 PM, Jibo John<ji...@mac.com> wrote:
>>>>>
>>>>> Hi Phil,
>>>>>
>>>>> It's 5 threads for IndexWriter.
>>>>>
>>>>> For ThreadedIndexWriter, I used:
>>>>>
>>>>> writer.num.threads=16
>>>>> writer.max.thread.queue.size=80
>>>>>
>>>>> Thanks,
>>>>> -Jibo
>>>>>
>>>>> On Jul 31, 2009, at 5:01 PM, Phil Whelan wrote:
>>>>>
>>>>>> Hi Jibo,
>>>>>>
>>>>>> Your mergeFactor is different, and the resulting numFiles (segment
>>>>>> files) is different. Maybe each thread is responsible for a segment
>>>>>> file. Just curious - do you have 3 threads?
>>>>>>
>>>>>> Phil
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>
>
>
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Jibo John <ji...@mac.com>.
Mike,
I wasn't exactly using the lucene core jar from MEAP.
I have been building lucene from the source, and running the tests
under lucene/java/trunk/contrib/benchmark/ (checked out 2 weeks ago, I
guess) and, also under lucene/java/tags/lucene_2_4_1/contrib/
benchmark/.
In both cases, copied CreateThreadedIndexTask to
org.apache.lucene.benchmark.byTask.tasks and ThreadedIndexWriter to
org.apache.lucene.index.
I have observed the issue in both the versions of lucene.
Indexes were optimized separately using Lucli.
PFA the classes and the alg.
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Michael McCandless <lu...@mikemccandless.com>.
I'm baffled why you're losing docs w/ ThreadedIndexWriter.
One question: your Lucene core JAR seems to be newer than the last
MEAP update. Did you update it manually?
Also, your indexes were optimized, but your algs don't have an
optimize step -- did you separately run an optimize?
Could you zip up the whole shebang (ThreadedIndexWriter.java,
CreateThreadedIndexTask.java, the algs) & post? Please CC me directly
so I can grab the zip file... thanks.
Mike
On Mon, Aug 3, 2009 at 12:37 PM, Jibo John<ji...@mac.com> wrote:
> Mike,
>
> Verified that I have the latest source code.
> Here are the alg files and the checkindexer output.
>
>
> ----------------------------------------- indexwriter
> alg----------------------------------------------------------------
>
> analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
> doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
> directory=FSDirectory
>
> doc.stored = true #A
> docs.file=wikipedia.lines.txt
> ram.flush.mb=50
> compound=false
> merge.factor=5
> doc.add.log.step=1000
> doc.term.vector=false
> doc.term.vector.positions=false
> doc.term.vector.offsets=false
>
> { "Rounds" #B
> ResetSystemErase
> { "BuildIndex"
> -CreateIndex()
> [ { "AddDocs" AddDoc > : 40000 ] : 5 #C
> -CloseIndex()
> }
> NewRound
> } : 1
>
> RepSumByPrefRound BuildIndex #D
>
> -----------------------------------------threadedindexwriter alg
> ----------------------------------------------------------------
>
> analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
> doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
> directory=FSDirectory
>
> doc.stored = true #A
> docs.file=wikipedia.lines.txt
> ram.flush.mb=50
> compound=false
> merge.factor=5
> doc.add.log.step=1000
> doc.term.vector=false
> doc.term.vector.positions=false
> doc.term.vector.offsets=false
> writer.num.threads=15
> writer.max.thread.queue.size=75
> work.dir=work_t
>
>
> { "Rounds" #B
> ResetSystemErase
> { "BuildIndex"
> -CreateThreadedIndex()
> { "AddDocs" AddDoc > : 200000
> -CloseIndex()
> }
> NewRound
> } : 1
>
> RepSumByPrefRound BuildIndex #D
>
>
> -----------------------------------------------threadedindexwriter
> checkindex ----------------------------------------------------------
>
>
> $ java -classpath
> /Users/jibo/Desktop/iwork/lucene/java/trunk/build/lucene-core-2.9-dev.jar
> org.apache.lucene.index.CheckIndex
> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work_t/index
>
> NOTE: testing will be more thorough if you run java with
> '-ea:org.apache.lucene...', so assertions are enabled
>
> Opening index @
> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work_t/index
>
> Segments file=segments_3 numSegments=1 version=FORMAT_DIAGNOSTICS [Lucene
> 2.9]
> 1 of 1: name=_p docCount=199941
> compound=true
> hasProx=true
> numFiles=3
> size (MB)=317.1
> diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev 779767M -
> 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386, optimize=true,
> mergeDocStores=false, java.vendor=Apple Inc., os.version=10.5.7,
> source=merge, mergeFactor=5}
> docStoreOffset=0
> docStoreSegment=_0
> docStoreIsCompoundFile=false
> no deletions
> test: open reader.........OK
> test: fields, norms.......OK [4 fields]
> test: terms, freq, prox...OK [1269552 terms; 67887116 terms/docs pairs;
> 133241176 tokens]
> test: stored fields.......OK [199941 total field count; avg 1 fields per
> doc]
> test: term vectors........OK [0 total vector count; avg 0 term/freq vector
> fields per doc]
>
> No problems were detected with this index.
>
> ------------------------------------------indexwriter checkindex
> ---------------------------------------------------------------
>
> $ java -classpath
> /Users/jibo/Desktop/iwork/lucene/java/trunk/build/lucene-core-2.9-dev.jar
> org.apache.lucene.index.CheckIndex
> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work/index
>
> NOTE: testing will be more thorough if you run java with
> '-ea:org.apache.lucene...', so assertions are enabled
>
> Opening index @
> /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/benchmark/work/index
>
> Segments file=segments_a numSegments=1 version=FORMAT_DIAGNOSTICS [Lucene
> 2.9]
> 1 of 1: name=_18 docCount=200000
> compound=true
> hasProx=true
> numFiles=1
> size (MB)=427.445
> diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev 779767M -
> 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386, optimize=true,
> mergeDocStores=true, java.vendor=Apple Inc., os.version=10.5.7,
> source=merge, mergeFactor=4}
> no deletions
> test: open reader.........OK
> test: fields, norms.......OK [4 fields]
> test: terms, freq, prox...OK [3512343 terms; 80020204 terms/docs pairs;
> 163219760 tokens]
> test: stored fields.......OK [200000 total field count; avg 1 fields per
> doc]
> test: term vectors........OK [0 total vector count; avg 0 term/freq vector
> fields per doc]
>
> No problems were detected with this index.
>
> ---------------------------------------------------------------------------------------------------------
>
>
>
>
> Thanks,
> -Jibo
>
>
>
>
>
>
>
> On Aug 1, 2009, at 2:08 AM, Michael McCandless wrote:
>
>> (Please note that ThreadedIndexWriter is source code available with
>> the upcoming revision to Lucene in Action.)
>>
>> Phil, is it possible you are using an older version of the book's
>> source code? In particular, can you check whether your version of
>> ThreadedIndexWriter.java has this:
>>
>> public void close(boolean doWait) throws CorruptIndexException,
>> IOException {
>> finish();
>> super.close(doWait);
>> }
>>
>> (I vaguely remember that being missing from earlier releases, which
>> could explain what you're seeing). If you are missing that, can you
>> download the current code from http://www.manning.com/hatcher3 and try
>> again?
>>
>> If that's not the problem... can you post the benchmark alg you are
>> using in each case?
>>
>> Mike
>>
>> On Fri, Jul 31, 2009 at 8:26 PM, Jibo John<ji...@mac.com> wrote:
>>>
>>> Hi Phil,
>>>
>>> It's 5 threads for IndexWriter.
>>>
>>> For ThreadedIndexWriter, I used:
>>>
>>> writer.num.threads=16
>>> writer.max.thread.queue.size=80
>>>
>>> Thanks,
>>> -Jibo
>>>
>>> On Jul 31, 2009, at 5:01 PM, Phil Whelan wrote:
>>>
>>>> Hi Jibo,
>>>>
>>>> Your mergeFactor is different, and the resulting numFiles (segment
>>>> files) is different. Maybe each thread is responsible for a segment
>>>> file. Just curious - do you have 3 threads?
>>>>
>>>> Phil
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Jibo John <ji...@mac.com>.
Mike,
Verified that I have the latest source code.
Here are the alg files and the checkindexer output.
----------------------------------------- indexwriter
alg----------------------------------------------------------------
analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
directory=FSDirectory
doc.stored = true #A
docs.file=wikipedia.lines.txt
ram.flush.mb=50
compound=false
merge.factor=5
doc.add.log.step=1000
doc.term.vector=false
doc.term.vector.positions=false
doc.term.vector.offsets=false
{ "Rounds" #B
ResetSystemErase
{ "BuildIndex"
-CreateIndex()
[ { "AddDocs" AddDoc > : 40000 ] :
5 #C
-CloseIndex()
}
NewRound
} : 1
RepSumByPrefRound BuildIndex #D
-----------------------------------------threadedindexwriter alg
----------------------------------------------------------------
analyzer=org.apache.lucene.analysis.standard.StandardAnalyzer
doc.maker=org.apache.lucene.benchmark.byTask.feeds.LineDocMaker
directory=FSDirectory
doc.stored = true #A
docs.file=wikipedia.lines.txt
ram.flush.mb=50
compound=false
merge.factor=5
doc.add.log.step=1000
doc.term.vector=false
doc.term.vector.positions=false
doc.term.vector.offsets=false
writer.num.threads=15
writer.max.thread.queue.size=75
work.dir=work_t
{ "Rounds" #B
ResetSystemErase
{ "BuildIndex"
-CreateThreadedIndex()
{ "AddDocs" AddDoc > : 200000
-CloseIndex()
}
NewRound
} : 1
RepSumByPrefRound BuildIndex #D
-----------------------------------------------threadedindexwriter
checkindex ----------------------------------------------------------
$ java -classpath /Users/jibo/Desktop/iwork/lucene/java/trunk/build/
lucene-core-2.9-dev.jar org.apache.lucene.index.CheckIndex /Users/jibo/
Desktop/iwork/lucene/java/trunk/contrib/benchmark/work_t/index
NOTE: testing will be more thorough if you run java with '-
ea:org.apache.lucene...', so assertions are enabled
Opening index @ /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/
benchmark/work_t/index
Segments file=segments_3 numSegments=1 version=FORMAT_DIAGNOSTICS
[Lucene 2.9]
1 of 1: name=_p docCount=199941
compound=true
hasProx=true
numFiles=3
size (MB)=317.1
diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev
779767M - 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386,
optimize=true, mergeDocStores=false, java.vendor=Apple Inc.,
os.version=10.5.7, source=merge, mergeFactor=5}
docStoreOffset=0
docStoreSegment=_0
docStoreIsCompoundFile=false
no deletions
test: open reader.........OK
test: fields, norms.......OK [4 fields]
test: terms, freq, prox...OK [1269552 terms; 67887116 terms/docs
pairs; 133241176 tokens]
test: stored fields.......OK [199941 total field count; avg 1
fields per doc]
test: term vectors........OK [0 total vector count; avg 0 term/
freq vector fields per doc]
No problems were detected with this index.
------------------------------------------indexwriter checkindex
---------------------------------------------------------------
$ java -classpath /Users/jibo/Desktop/iwork/lucene/java/trunk/build/
lucene-core-2.9-dev.jar org.apache.lucene.index.CheckIndex /Users/jibo/
Desktop/iwork/lucene/java/trunk/contrib/benchmark/work/index
NOTE: testing will be more thorough if you run java with '-
ea:org.apache.lucene...', so assertions are enabled
Opening index @ /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/
benchmark/work/index
Segments file=segments_a numSegments=1 version=FORMAT_DIAGNOSTICS
[Lucene 2.9]
1 of 1: name=_18 docCount=200000
compound=true
hasProx=true
numFiles=1
size (MB)=427.445
diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev
779767M - 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386,
optimize=true, mergeDocStores=true, java.vendor=Apple Inc.,
os.version=10.5.7, source=merge, mergeFactor=4}
no deletions
test: open reader.........OK
test: fields, norms.......OK [4 fields]
test: terms, freq, prox...OK [3512343 terms; 80020204 terms/docs
pairs; 163219760 tokens]
test: stored fields.......OK [200000 total field count; avg 1
fields per doc]
test: term vectors........OK [0 total vector count; avg 0 term/
freq vector fields per doc]
No problems were detected with this index.
---------------------------------------------------------------------------------------------------------
Thanks,
-Jibo
On Aug 1, 2009, at 2:08 AM, Michael McCandless wrote:
> (Please note that ThreadedIndexWriter is source code available with
> the upcoming revision to Lucene in Action.)
>
> Phil, is it possible you are using an older version of the book's
> source code? In particular, can you check whether your version of
> ThreadedIndexWriter.java has this:
>
> public void close(boolean doWait) throws CorruptIndexException,
> IOException {
> finish();
> super.close(doWait);
> }
>
> (I vaguely remember that being missing from earlier releases, which
> could explain what you're seeing). If you are missing that, can you
> download the current code from http://www.manning.com/hatcher3 and try
> again?
>
> If that's not the problem... can you post the benchmark alg you are
> using in each case?
>
> Mike
>
> On Fri, Jul 31, 2009 at 8:26 PM, Jibo John<ji...@mac.com> wrote:
>> Hi Phil,
>>
>> It's 5 threads for IndexWriter.
>>
>> For ThreadedIndexWriter, I used:
>>
>> writer.num.threads=16
>> writer.max.thread.queue.size=80
>>
>> Thanks,
>> -Jibo
>>
>> On Jul 31, 2009, at 5:01 PM, Phil Whelan wrote:
>>
>>> Hi Jibo,
>>>
>>> Your mergeFactor is different, and the resulting numFiles (segment
>>> files) is different. Maybe each thread is responsible for a segment
>>> file. Just curious - do you have 3 threads?
>>>
>>> Phil
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Michael McCandless <lu...@mikemccandless.com>.
(Please note that ThreadedIndexWriter is source code available with
the upcoming revision to Lucene in Action.)
Phil, is it possible you are using an older version of the book's
source code? In particular, can you check whether your version of
ThreadedIndexWriter.java has this:
public void close(boolean doWait) throws CorruptIndexException, IOException {
finish();
super.close(doWait);
}
(I vaguely remember that being missing from earlier releases, which
could explain what you're seeing). If you are missing that, can you
download the current code from http://www.manning.com/hatcher3 and try
again?
If that's not the problem... can you post the benchmark alg you are
using in each case?
Mike
On Fri, Jul 31, 2009 at 8:26 PM, Jibo John<ji...@mac.com> wrote:
> Hi Phil,
>
> It's 5 threads for IndexWriter.
>
> For ThreadedIndexWriter, I used:
>
> writer.num.threads=16
> writer.max.thread.queue.size=80
>
> Thanks,
> -Jibo
>
> On Jul 31, 2009, at 5:01 PM, Phil Whelan wrote:
>
>> Hi Jibo,
>>
>> Your mergeFactor is different, and the resulting numFiles (segment
>> files) is different. Maybe each thread is responsible for a segment
>> file. Just curious - do you have 3 threads?
>>
>> Phil
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Jibo John <ji...@mac.com>.
Hi Phil,
It's 5 threads for IndexWriter.
For ThreadedIndexWriter, I used:
writer.num.threads=16
writer.max.thread.queue.size=80
Thanks,
-Jibo
On Jul 31, 2009, at 5:01 PM, Phil Whelan wrote:
> Hi Jibo,
>
> Your mergeFactor is different, and the resulting numFiles (segment
> files) is different. Maybe each thread is responsible for a segment
> file. Just curious - do you have 3 threads?
>
> Phil
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Phil Whelan <ph...@gmail.com>.
Hi Jibo,
Your mergeFactor is different, and the resulting numFiles (segment
files) is different. Maybe each thread is responsible for a segment
file. Just curious - do you have 3 threads?
Phil
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Jibo John <ji...@mac.com>.
Mike,
Here you go:
IndexWriter:
----------------
$ java -classpath /Users/jibo/Desktop/iwork/lucene/java/trunk/build/
lucene-core-2.9-dev.jar org.apache.lucene.index.CheckIndex /Users/jibo/
Desktop/iwork/lucene/java/trunk/contrib/benchmark/work/index
NOTE: testing will be more thorough if you run java with '-
ea:org.apache.lucene...', so assertions are enabled
Opening index @ /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/
benchmark/work/index
Segments file=segments_a numSegments=1 version=FORMAT_DIAGNOSTICS
[Lucene 2.9]
1 of 1: name=_18 docCount=200000
compound=true
hasProx=true
numFiles=1
size (MB)=427.448
diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev
779767M - 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386,
optimize=true, mergeDocStores=true, java.vendor=Apple Inc.,
os.version=10.5.7, source=merge, mergeFactor=4}
no deletions
test: open reader.........OK
test: fields, norms.......OK [4 fields]
test: terms, freq, prox...OK [3512343 terms; 80020204 terms/docs
pairs; 163219760 tokens]
test: stored fields.......OK [200000 total field count; avg 1
fields per doc]
test: term vectors........OK [0 total vector count; avg 0 term/
freq vector fields per doc]
No problems were detected with this index.
ThreadedIndexWriter:
-----------------------------
$ java -classpath /Users/jibo/Desktop/iwork/lucene/java/trunk/build/
lucene-core-2.9-dev.jar org.apache.lucene.index.CheckIndex /Users/jibo/
Desktop/iwork/lucene/java/trunk/contrib/benchmark/work/index
NOTE: testing will be more thorough if you run java with '-
ea:org.apache.lucene...', so assertions are enabled
Opening index @ /Users/jibo/Desktop/iwork/lucene/java/trunk/contrib/
benchmark/work/index
Segments file=segments_3 numSegments=1 version=FORMAT_DIAGNOSTICS
[Lucene 2.9]
1 of 1: name=_q docCount=199970
compound=true
hasProx=true
numFiles=3
size (MB)=319.107
diagnostics = {java.version=1.5.0_19, lucene.version=2.9-dev
779767M - 2009-05-28 17:02:17, os=Mac OS X, os.arch=i386,
optimize=true, mergeDocStores=false, java.vendor=Apple Inc.,
os.version=10.5.7, source=merge, mergeFactor=6}
docStoreOffset=0
docStoreSegment=_0
docStoreIsCompoundFile=false
no deletions
test: open reader.........OK
test: fields, norms.......OK [4 fields]
test: terms, freq, prox...OK [1227086 terms; 69244121 terms/docs
pairs; 134390948 tokens]
test: stored fields.......OK [199970 total field count; avg 1
fields per doc]
test: term vectors........OK [0 total vector count; avg 0 term/
freq vector fields per doc]
No problems were detected with this index.
$
On Jul 31, 2009, at 2:52 PM, Michael McCandless wrote:
> Hmmm... can you run CheckIndex on both indexes and post the results?
>
> java org.apache.lucene.index.CheckIndex /path/to/index
>
> Mike
>
> On Fri, Jul 31, 2009 at 2:38 PM, Jibo John<ji...@mac.com> wrote:
>> Number of docs are the same in the index for both the cases
>> (200,000).
>> I haven't altered the benchmark/ code, but, used a profiler to
>> verify that
>> Benchmark main thread is closed only after all other threads are
>> closed.
>>
>> Thanks,
>> -Jibo
>>
>>
>> On Jul 31, 2009, at 2:34 AM, Michael McCandless wrote:
>>
>>> Hmm... this doesn't sound right.
>>>
>>> That example (ThreadedIndexWriter) is meant to be a drop-in
>>> replacement, wherever you use an IndexWriter, that keeps an
>>> under-the-hood thread pool (using java.util.concurrent.*) to
>>> add/update documents with multiple threads.
>>>
>>> It should not result in a smaller index.
>>>
>>> Can you sanity check the index? Eg is numDocs() the same for both?
>>> You definitely called close() on the writer, right? That method
>>> waits
>>> for all threads to finish their work before actually closing.
>>>
>>> Mike
>>>
>>> On Thu, Jul 30, 2009 at 8:01 PM, Jibo John<ji...@mac.com> wrote:
>>>>
>>>> While trying out a few tuning options using contrib/benchmak as
>>>> described
>>>> in
>>>> LIA (2nd edition) book, I had an interesting observation.
>>>>
>>>> If I use a ThreadedIndexWriter (picked the example from lia2e,
>>>> page 356)
>>>> instead of IndexWriter, the index size got reduced by 40%
>>>> compared to
>>>> using
>>>> IndexWriter.
>>>> Index related configuration were the same for both the tests in
>>>> the alg
>>>> file.
>>>>
>>>> I am curious how come using a threaded index writer will have an
>>>> impact
>>>> on
>>>> the index size.
>>>>
>>>> Appreciate your input.
>>>>
>>>> Thanks,
>>>> -Jibo
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Michael McCandless <lu...@mikemccandless.com>.
Hmmm... can you run CheckIndex on both indexes and post the results?
java org.apache.lucene.index.CheckIndex /path/to/index
Mike
On Fri, Jul 31, 2009 at 2:38 PM, Jibo John<ji...@mac.com> wrote:
> Number of docs are the same in the index for both the cases (200,000).
> I haven't altered the benchmark/ code, but, used a profiler to verify that
> Benchmark main thread is closed only after all other threads are closed.
>
> Thanks,
> -Jibo
>
>
> On Jul 31, 2009, at 2:34 AM, Michael McCandless wrote:
>
>> Hmm... this doesn't sound right.
>>
>> That example (ThreadedIndexWriter) is meant to be a drop-in
>> replacement, wherever you use an IndexWriter, that keeps an
>> under-the-hood thread pool (using java.util.concurrent.*) to
>> add/update documents with multiple threads.
>>
>> It should not result in a smaller index.
>>
>> Can you sanity check the index? Eg is numDocs() the same for both?
>> You definitely called close() on the writer, right? That method waits
>> for all threads to finish their work before actually closing.
>>
>> Mike
>>
>> On Thu, Jul 30, 2009 at 8:01 PM, Jibo John<ji...@mac.com> wrote:
>>>
>>> While trying out a few tuning options using contrib/benchmak as described
>>> in
>>> LIA (2nd edition) book, I had an interesting observation.
>>>
>>> If I use a ThreadedIndexWriter (picked the example from lia2e, page 356)
>>> instead of IndexWriter, the index size got reduced by 40% compared to
>>> using
>>> IndexWriter.
>>> Index related configuration were the same for both the tests in the alg
>>> file.
>>>
>>> I am curious how come using a threaded index writer will have an impact
>>> on
>>> the index size.
>>>
>>> Appreciate your input.
>>>
>>> Thanks,
>>> -Jibo
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: ThreadedIndexWriter vs. IndexWriter
Posted by Jibo John <ji...@mac.com>.
Number of docs are the same in the index for both the cases (200,000).
I haven't altered the benchmark/ code, but, used a profiler to verify
that Benchmark main thread is closed only after all other threads
are closed.
Thanks,
-Jibo
On Jul 31, 2009, at 2:34 AM, Michael McCandless wrote:
> Hmm... this doesn't sound right.
>
> That example (ThreadedIndexWriter) is meant to be a drop-in
> replacement, wherever you use an IndexWriter, that keeps an
> under-the-hood thread pool (using java.util.concurrent.*) to
> add/update documents with multiple threads.
>
> It should not result in a smaller index.
>
> Can you sanity check the index? Eg is numDocs() the same for both?
> You definitely called close() on the writer, right? That method waits
> for all threads to finish their work before actually closing.
>
> Mike
>
> On Thu, Jul 30, 2009 at 8:01 PM, Jibo John<ji...@mac.com> wrote:
>> While trying out a few tuning options using contrib/benchmak as
>> described in
>> LIA (2nd edition) book, I had an interesting observation.
>>
>> If I use a ThreadedIndexWriter (picked the example from lia2e, page
>> 356)
>> instead of IndexWriter, the index size got reduced by 40% compared
>> to using
>> IndexWriter.
>> Index related configuration were the same for both the tests in the
>> alg
>> file.
>>
>> I am curious how come using a threaded index writer will have an
>> impact on
>> the index size.
>>
>> Appreciate your input.
>>
>> Thanks,
>> -Jibo
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org