lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From M.K <kohan.mass...@gmail.com>
Subject Re: Implement a filter to the search results
Date Tue, 11 Sep 2007 15:59:24 GMT
 I am not sure, I understant perfectly.
Is this the way you said:


document.add(Field.*UnStored*("text", docText));
document.add(Field.*Text*("category", category));
document.add(Field.*Text*("department",department));
document.add(Field.*Text*("year", year));

*search:*


String[] fields = { "text", "category","department","year" };

BooleanQuery bQuery = *new* BooleanQuery();

*for* (*int* i = 0; i < fields.length; i++) {

QueryParser parser = *new* QueryParser(fields[i],  analyzer);

Query q = parser.parse(query);

bQuery.add(q, *false*, *false*); // combine the queries, neither requiring
or prohibiting matches

}
  Hits hits = searcher.search(bQuery);


MK



On 9/10/07, testn <test1@doramail.com> wrote:
>
>
> It's probably easier to add category, department, year as a part of query
> and
> then requery to get the hits you need.
>
> M.K wrote:
> >
> > Hi All,
> >
> > I have a search form which has an input area for key search and also
> > three
> > optional select boxs  *Catagory, Department and Year. *
> >  My question is how can I filter the results if users select a category
> or
> >  a department or a year or a combination of them.
> >
> > *index *:
> >
> > IndexWriter indexWriter =
> > *new* IndexWriter(API.*getRootPath*() + "\\data\\LUCENE" ,
> > *new*StandardAnalyzer(),true);
> >
> > Document document = *new* Document();
> >
> > document.add(Field.*Text*("text", docText));
> >
> > document.add(Field.*UnIndexed*("department", depart));
> >
> > document.add(Field.*UnIndexed*(
> > "category", courseId));
> >
> > document.add(Field.*UnIndexed*(
> > "year", year));
> >
> > indexWriter.addDocument(document);
> >
> > indexWriter.close();
> >
> >
> >
> > *search: *
> >
> > *Searcher searcher = new IndexSearcher(API.getRootPath() +
> > "/data/LUCENE/");
> > Analyzer analyzer = new StandardAnalyzer();*
> >
> > * Query query = QueryParser.parse(request.getParameter("query"), "text",
> > analyzer);
> >  Hits hits = searcher.search (query);*
> >
> > I do not konw how implement a filter to the results of the search for
> > catgory or year or department.
> >
> > Thanks,
> >
> > Massoud
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Implement-a-filter-to-the-search-results-tf4418068.html#a12606295
> Sent from the Lucene - Java Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
> For additional commands, e-mail: java-user-help@lucene.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message