In our solution we used a RAMDir for the newest incoming articles and a FSDir 
for older ones. Then we had a limit for the ramdir  like 10.000 documents when 
that limit were hit we used mergesegments to move the content from ramdir -> 
fsdir, actually we had to do some modification in the mergesegment method since 
it always seemed to do an optimize on the index after the merge, I have the 
code if u want it.

If you use RAMDir + FSDir you can use 2 indexserchers and one multisearcher on 
top. The indexsearcher that uses the small RAMDir can be rebinded quite often. 

/
Regards
M


-----Ursprungligt meddelande-----
Från: Andrzej Bialecki [mailto:[EMAIL PROTECTED] 
Skickat: den 17 januari 2008 10:55
Till: java-user@lucene.apache.org
Ämne: Re: SV: Integrating dynamic data into Lucene search/ranking

Tobias Lohr wrote:
> I'm not really sure, if this approach is possible for working in changes 
> every - let's say - 30 seconds!?

The conventional wisdom is to use RAMDirectory in such scenarios. I.e. 
you commit frequent updates to a RAMDirectory and frequently reopen its 
Searcher (which should be fast). Periodically, merge the RAMDirectory 
index with your on-disk index - you need to open a new IndexSearcher in 
the background, warm it up with the latest N queries, and when it's 
ready you swap searchers, i.e. you close the old one, purge the 
RAMDirectory (since it was synced to the on-disk index), and start using 
the new IndexSearcher.

And again, start accumulating new docs in the RAMDirectory, etc, etc ...

-- 
Best regards,
Andrzej Bialecki     <><
  ___. ___ ___ ___ _ _   __________________________________
[__ || __|__/|__||\/|  Information Retrieval, Semantic Web
___|||__||  \|  ||  |  Embedded Unix, System Integration
http://www.sigram.com  Contact: info at sigram dot com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


> Datum: Thu, 17 Jan 2008 05:35:13 +0100
> Von: "Marcus Falk" <[EMAIL PROTECTED]>
> An: java-user@lucene.apache.org, java-user@lucene.apache.org
> Betreff: SV: Integrating dynamic data into Lucene search/ranking

> We did this in our system, indexing a constant flow of news articles, 
> by doing as Otis described (reopened the indexsearcher)..
>  
> Every 3:d minute we are creating a new indexsearcher in the background 
> after this searcher has been created we are fireing some warm up 
> queries against it and after that we change the old searcher to point to the 
> new one.
> Works fine for us and we got large indexes (several millions of articles)... 
>  
> /Regards
> Marcus
>  
>  


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to