if you are inside solr, as it seems to be the case, you can do this QParserPlugin qplug = req.getCore().getQueryPlugin(LuceneQParserPlugin.NAME); QParser parser = qplug.createParser("PATIENT_GENDER:Male OR STUDY_DIVISION:\"Cancer Center\"", null, req.getParams(), req); Query q = parser.parse();
maybe there is a one-line call to get the parser from solr core, but i can't find it now. Have a look at one of the subclasses of QParser --roman On Mon, Jan 7, 2013 at 4:27 AM, Sabeer Hussain <shuss...@del.aithent.com>wrote: > Is there a way to get Lucene's query from Solr query?. I have a requirement > to search for terms in multiple heterogeneous indices. Presently, I am > using > the following approach > > try { > Directory directory1 = FSDirectory.open(new > File("E:\\database\\patient\\index")); > Directory directory2 = FSDirectory.open(new > File("E:\\database\\study\\index")); > > BooleanQuery myQuery = new BooleanQuery(); > myQuery.add(new TermQuery(new > Term("PATIENT_GENDER", "Male")), > BooleanClause.Occur.SHOULD); > myQuery.add(new TermQuery(new > Term("STUDY_DIVISION","Cancer Center")), > BooleanClause.Occur.SHOULD); > > int indexCount = 2; > IndexReader[] indexReader = new > IndexReader[indexCount]; > indexReader[0] = DirectoryReader.open(directory1); > indexReader[1] = DirectoryReader.open(directory2); > > IndexSearcher searcher = new IndexSearcher(new > MultiReader(indexReader)); > TopDocs col = searcher.search(myQuery, 10); > > //results > ScoreDoc[] docs = col.scoreDocs; > > } catch (IOException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } > > Here, I need to create TermQuery based on Field Names and its value. If I > can get this boolean query directly from Solr query q=PATIENT_GENDER:Male > OR > STUDY_DIVISION:"Cancer Center", that will save my coding effort. This one > is > a simple example but when we need to create more complex query it will be a > time consuming activity and error prone. So, is there a way to get the > lucense's query from solr query. > > > > > -- > View this message in context: > http://lucene.472066.n3.nabble.com/Getting-Lucense-Query-from-Solr-query-Or-converting-Solr-Query-to-Lucense-s-query-tp4031187.html > Sent from the Solr - User mailing list archive at Nabble.com. >