Where I can initialize the SearchManager variable to after use it in the REST servlet to do research in the index?
2013/9/5 Ian Lea <ian....@gmail.com> > I think that blog post was bleeding edge and the API changed a bit > subsequently. > > I use > > Directory dir = whatever; > SearcherManager sm = new SearcherManager(dir, new SearcherFactory()); > > to get default behaviour. The javadocs for SearcherFactory explain > that you can write your own implementation if you want custom > behaviour such as warming. > > > -- > Ian. > > > On Thu, Sep 5, 2013 at 3:53 PM, David Miranda <david.b.mira...@gmail.com> > wrote: > > Hi, > > > > I'm trying to implement my code with SearchManager to make my app > > thread-safe. I'm follow this post: > > > http://blog.mikemccandless.com/2011/09/lucenes-searchermanager-simplifies.html > > > > There is a class that implements "SearchWarmer". I can't find this class > in > > the Lucene library, what class is that? > > > > Thanks. > > > > > > 2013/9/5 Aditya <findbestopensou...@gmail.com> > > > >> 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.mira...@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. > >> > > >> > > > > > > > > -- > > Cumprimentos, > > David Miranda > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > > -- Cumprimentos, David Miranda