lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aditya <findbestopensou...@gmail.com>
Subject Re: Lucene Concurrent Search
Date Thu, 05 Sep 2013 08:36:37 GMT
Hi

You want to use REST service for your search, then my advice would be to
use Solr. As it has buitl-in functionality of REST API.

If you want to use Lucene then below are my comments:
1. In do search function, you are creating reader object. If this call is
invoked for every query then it would be very expensive. You need to create
it once globally and re opon it, if the index is modified. Its better use
SearchManager.

Regards
Aditya
www.findbestopensource.com - Search from 1 Million open source projects.



On Thu, Sep 5, 2013 at 6:46 AM, David Miranda <david.b.miranda@gmail.com>wrote:

> Hi,
>
> I'm developing a web application, that contains a REST service in the
> Tomcat, that receives several requests per second.
> The REST requests do research in a Lucene index, to do this i use the
> IndexSearch.
>
> My questions are:
> - There are concurrency problems in multiple research?
> - What the best design pattern to do this?
>
> public class IndexResearch(){
> >   private static int MAX_HITS = 500;
> >   private static String DIRECTORY = "indexdir";
> >   private IndexSearcher searcher;
> >   private StandardAnalyzer analyzer;
> >
>
>
>
> >   public IndexResearch(){
> >   }
> >   public String doSearch(String text){
> >      analyzer = new StandardAnalyzer(Version.LUCENE_43);
> >      topic = QueryParser.escape(topic);
> >      Query q = new QueryParser(Version.LUCENE_43, "field", analyzer
> > ).parse(text);
> >      File indexDirectory = new File(DIRECTORY);
> >      IndexReader reader;
> >      reader = DirectoryReader.open(FSDirectory.open(indexDirectory));
> >      searcher = new IndexSearcher(reader);
> >
>         /*more code*/
>
> >    }
> > }
>
>
> Can I create, in the servlet, one object of this class per client request
> (Is that the best design pattern)?
>
> Thanks in advance.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message