Certainly in java IndexReader is thread safe.  From the 4.0.0 javadocs
"IndexReader instances are completely thread safe, meaning multiple
threads can call any of its methods, concurrently".  I know nothing
about Lucene.NET.

All your reasons for not using Solr sound fine, particularly the more
fun one.  Good luck.


--
Ian.


On Mon, Dec 10, 2012 at 12:09 PM, Lars-Erik Aabech
<l...@markedspartner.no> wrote:
> OK, thanks. As far as I understand, there's no problem performance wise or 
> other to use a singleton reader for multiple threads/users, right?
>
> I've considered Solr, but my conclusion is that installing and configuring 
> something a bit geeky to configure, running on Java when all our stuff is 
> Windows/MSSQL/.net just to save myself from using lucene.net within my 
> existing c# code, seems like overkill. :)
> We also have some very specific configuration and UI needs for the system we 
> are indexing, and it's all ended up quite nice. The main reason was that our 
> SQL searches (like '%...%') combined with crappy legacy rendering took a 
> minute, the current lucene searches with security, highlighting, other rules, 
> multiple fields etc. takes <1 sec.
>
> Besides, it's more fun getting to know and tamper around with lucene itself.
>
> Lars-Erik
>
> -----Original Message-----
> From: Ian Lea [mailto:ian....@gmail.com]
> Sent: 10. desember 2012 13:00
> To: java-user@lucene.apache.org
> Subject: Re: Deciding how to use reader
>
> If the index is only updated once an hour I'd create a new reader once an 
> hour as well, synchronized with the updates.
>
> Have you considered Solr?  That would probably take care of most of the 
> complications pretty much out of the box.
> http://lucene.apache.org/solr/features.html
>
>
> --
> Ian.
>
>
> On Mon, Dec 10, 2012 at 10:31 AM, Lars-Erik Aabech <l...@markedspartner.no> 
> wrote:
>> Hi!
>>
>> I'm using lucene.net, but I'm sure this question is not platform
>> specific. :) I've created an index for a website which uses a central 
>> database server and three front-end servers.
>> For now I've put the index and the building of the index on a fifth server 
>> which builds the index once an hour.
>> It uses a singleton with one directory and one writer for the lifetime
>> of the application. (currently infinite) I also created an http service 
>> which gets a reader from the writer and does the search.
>> The front-end servers get the search result via that service over a 1gb lan.
>> The problem is that this server has 100% cpu load quite often, and that 
>> affects the responsiveness of the service.
>> So I'm about to rewrite it so that the index is stored on a SAN available to 
>> all servers.
>> The front-end servers will then open their own singletons of directory and 
>> do the searches themselves.
>>
>> My question is as follows,
>> Given ~17,000 documents and ~120,000 terms, would you open and close a
>> reader for each search, or would you keep a singleton reader and re-open it 
>> say every hour?
>>
>> mvh.
>> Lars-Erik Aabech
>> Faglig leder utvikling
>> MarkedsPartner AS
>> Mobil: +47 920 30 537
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to