I have these queries in Lucene 2.9.4, is there a way to convert these exactly to Solr 3.4 but using only the solrconfig.xml? I will figure out the queries but I wanted to know if it is even possible to go from here to having something like this:
<requestHandler name="/custom" class="solr.SearchHandler"> ... queries </requestHandler> So the front end just calls /custom?q=what and the requestHandler will build the queries accordingly. I don¹t want to put any of this logic in the front end, so I want to package a requestHandler to do exactly what it was done in Lucene. I have a lot of these type of queries built in Lucene that I have to migrate to Solr, I don¹t want to write a different query parser plugin for each of those. Thanks in advance, Maria Example Lucene queries: String tmpQuery1 = what.toLowerCase().trim(); Query wildcardkeyword_atts = new PrefixQuery(new Term("keyword_atts_exact", tmpQuery1)); Query wildcardkeyword = new PrefixQuery(new Term("keyword_exact", tmpQuery1)); BooleanQuery keywordExactQuery = new BooleanQuery(); keywordExactQuery.setBoost(10); keywordExactQuery.add(new TermQuery(new Term("keyword_atts_exact", tmpQuery1)), BooleanClause.Occur.SHOULD); keywordExactQuery.add(new TermQuery(new Term("keyword_exact", tmpQuery1)), BooleanClause.Occur.SHOULD); BooleanQuery bkeywordAtts = new BooleanQuery(); PhraseQuery pPhraseKeywordAtt = new PhraseQuery(); pPhraseKeywordAtt.setSlop(2); StringReader r2 = new StringReader(what); TokenStream stream3 = analyzer.tokenStream(null, r2); TermAttribute termAtt = (TermAttribute) stream3.addAttribute(TermAttribute.class); while (stream3.incrementToken()) { String sTerm = termAtt.term().trim(); TermQuery tKeywordAtts = new TermQuery(new Term("keyword_atts", sTerm)); pPhraseKeywordAtt.add(new Term("keyword_atts", sTerm)); bkeywordAtts.add(tKeywordAtts, BooleanClause.Occur.MUST); } BooleanQuery m_mainQuery = new BooleanQuery(); m_mainQuery.add(wildcardkeyword_atts, BooleanClause.Occur.SHOULD); m_mainQuery.add(wildcardkeyword, BooleanClause.Occur.SHOULD); m_mainQuery.add(keywordExactQuery, BooleanClause.Occur.SHOULD); m_mainQuery.add(pPhraseKeywordAtt, BooleanClause.Occur.SHOULD); BooleanQuery m_finalQuery = new BooleanQuery(); m_finalQuery.add(new TermQuery(new Term("typename", "industry.category")), BooleanClause.Occur.MUST); m_finalQuery.add(m_mainQuery, BooleanClause.Occur.MUST);