This code adds the same query twice to a boolean query:
Query query =
parser.parse(searchString);
bq1.add(query,
BooleanClause.Occur.MUST);
bq1.add(new BooleanClause(query,
BooleanClause.Occur.MUST));
But X AND X == X :-)
You probably want to do something like:
Query q = new BooleanQuery();
bq.add(parser.parse(searchString1), BooleanClause.Occur.MUST);
bq.add(parser.parse(searchString2), BooleanClause.Occur.MUST);
...
searchHits = searcher.search(q);
Regards,
Doron
spinergywmy <[EMAIL PROTECTED]> wrote on 02/11/2006 22:13:05:
>
> Hi,
>
> I have look at the examples from lucene source, and try out myself but
it
> doesn't work. Perhaps u can point out where I did wrong. Below r the
codes
> that I developed:
>
> public String search(String searchString) throws IOException,
Exception
> {
> //System.out.println("inside search util");
>
> IndexReader reader = null;
> StringBuffer buff = new StringBuffer();
> BooleanQuery bq1 = new BooleanQuery();
> //BooleanQuery bq2 = new BooleanQuery();
> //ArrayList resultList = new ArrayList();
>
> try
> {
> reader = IndexReader.open(DsConstant.indexDir);
> Searcher searcher = new IndexSearcher(reader);
> Analyzer analyzer = new StandardAnalyzer();
> QueryParser parser = new QueryParser(DsConstant.idxFileContent,
> analyzer);
> Query query = parser.parse(searchString);
>
> bq1.add(query, BooleanClause.Occur.MUST);
> bq1.add(new BooleanClause(query, BooleanClause.Occur.MUST));
> //bq2.add(query, BooleanClause.Occur.MUST);
> //bq1.add(bq2, BooleanClause.Occur.MUST);
>
> searchHits = searcher.search(bq1);
>
> if(searchHits.length() > 0)
> {
> QueryScorer scorer = new QueryScorer(query);
> Highlighter highlighter = new Highlighter(new
> SimpleHTMLFormatter("<span
> style='background-color:yellow; font-weight:bold;'>",
> "</span>"), scorer);
>
> for(int i = 0; i < searchHits.length(); i++)
> {
> Document doc = searchHits.doc(i);
> String text = doc.get(DsConstant.idxFileContent);
> TokenStream tokenstream =
> analyzer.tokenStream(DsConstant.idxFileContent, new StringReader(text));
> //buff.append("<p> '" + DsConstant.userDir
> buff.append("<p " + searchHits.doc(i).
> get(DsConstant.idxPath) + " "
> + searchHits.doc(i).get("docName") + " <br>");
> //buff.append("score: " + searchHits.score(i) + "<br>");
> buff.append(highlighter.getBestFragments(tokenstream,
> text, 3, "...")+
> "</p>");
> buff.append("!");
> }
>
> //System.out.println("Folder path is ::: " +DsConstant.
> folderPath);
>
> searcher.close();
> }
>
> System.out.println("Found "+searchHits.length()+"
> searchHits with query =
> "+query);
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
>
> return buff.toString();
> //return resultList;
> }
>
> Thanks.
>
> regards,
> Wooi Meng
>
> --
> View this message in context: http://www.nabble.com/search-within-
> search-tf2558237.html#a7152393
> Sent from the Lucene - Java Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]