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 16:45:26 GMT
Lucene 1.4.3

ignor the filter words.
My question was:
I have a search form which has an input area for key search and also three
optional select boxs *Catagory, Department and Year. *
How can I implement that?  Is it correct the way I wrote in my last email.
Thanks,
MK



On 9/11/07, Erick Erickson <erickerickson@gmail.com> wrote:
>
> What version of Lucene are you using? I don't think the form
> b.add(query, false, false) is current.
>
> Be that as it may, I'm not quite sure what you mean by
> filter. If I'm reading your intent correctly, wouldn't requiring
> each non-empty field accomplish what you want? Which would
> be something like
> b.add(query, BooleanClause.MUST);
>
> Best
> Erick
>
> On 9/11/07, M. K <kohan.massoud@gmail.com> wrote:
> >
> > 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