Hi

The code which you sent is only for query-filter

In the  parse-filter and especially in index-fitler , do u add it to any new
field which you define??

What i do  is any data which i want to have  ,i store it in a new field
(created by me)

I guess the index-filter must be storing it in such a field

So you have to use  FieldQueryFilter with this new field type .(like
query-url and something like that)

Rgds
Prabhu


On 2/24/06, Vanderdray, Jacob <[EMAIL PROTECTED]> wrote:
>
> Doug,
>
>        I'm actually implementing a QueryFilter directly instead of
> extending one of the others.  I'm setting the boost to 2.0.  Here's the
> code:
>
> public class MetaQueryFilter implements QueryFilter {
>
> private static final Logger LOG = LogFormatter
>    .getLogger(MetaQueryFilter.class.getName());
>
> /**
>   * Need to pull out the list of meta tags from the configuration
>   */
> private static String [] META_TAGS =
>                  NutchConf.get().getStrings("meta.names");
>
> /**
>   * We're going to go through and create search filters for each of the
> meta-tags we were asked to index.
>   */
> public BooleanQuery filter(Query input, BooleanQuery output) {
>                  // If no meta-tags were specified in the conf file,
> then don't bother wasting cycles
>                  if ( META_TAGS.equals(null) ) {
>                                  return output;
>                  }
>
>                  addTerms(input, output);
>                  return output;
> }
>
> private static void addTerms(Query input, BooleanQuery output) {
>                  Clause[] clauses = input.getClauses();
>                  for (int x = 0; x < clauses.length; x++) {
>                                  Clause c = clauses[x];
>                                  if
> (!c.getField().equals(Clause.DEFAULT_FIELD))
>                                          continue;             // skip
> non-default fields
>
>                                  // These are the fields we're
> interested in indexing
>                                  String [] tagsToIndex = META_TAGS;
>
>                                  for (int i = 0; i <
> tagsToIndex.length; ++i) {
>                                                  LOG.info("Meta Query
> Filter: Adding a search for " + tagsToIndex[i]);
>
>                                                  Term term = new
> Term(tagsToIndex[i], c.getTerm().toString());
>
>                                                  // add a lucene
> PhraseQuery for this tag
>                                                  PhraseQuery metaQuery
> = new PhraseQuery();
>                                                  metaQuery.setSlop(0);
>                                                  metaQuery.add(term);
>
>                                                  // set boost
>
> metaQuery.setBoost(2.0f);
>
>                                                  // add it as a
> specified query
>                                                  output.add(metaQuery,
> false, false);
>                                  }
>                  }
> }
>
> }
>
> -----Original Message-----
> From: Doug Cutting [mailto:[EMAIL PROTECTED]
> Sent: Thursday, February 23, 2006 5:09 PM
> To: [email protected]
> Subject: Re: Search Particulars
>
> Vanderdray, Jacob wrote:
> >       I'm not sure I understand what you're getting at.  In this case
> > I've added a comma separated list of names of meta tags that I want to
> > index and search against.  I've written a parse filter, an index
> filter
> > and this query filter that all read in that list of meta tags from the
> > nutch-site.xml file.
> >
> >       That much seems to work.  In the explain link I can see that the
> > fields are in the index and the ranking of pages are affected by them,
> > but if I search for a term which is in one of the meta tags, but not
> in
> > any other fields I get 0 results.
>
> Are you using RawFieldQueryFilter?  If so, are you specifying a non-zero
>
> boost to the constructor?  RawFieldQueryFilter defaults to a zero boost.
>
> Query terms with a zero boost are automatically converted into
> filters.  And filters cannot select documents, only remove them.
>
> Doug
>

Reply via email to