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.

Reply via email to