lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Lea <ian....@gmail.com>
Subject Re: Searching within a Search Result
Date Wed, 07 Aug 2013 10:09:45 GMT
Your BooleanQuery code looks fine.  Do the label and abstract searches
work independently?  Are there docs that match both searches? There
are tips on non-working searches in the FAQ at
http://wiki.apache.org/lucene-java/LuceneFAQ#Why_am_I_getting_no_hits_.2F_incorrect_hits.3F

If that doesn't help I suggest you post the smallest possible
self-contained example that shows the problem.


--
Ian.


On Tue, Aug 6, 2013 at 9:55 PM, David Miranda <david.b.miranda@gmail.com> wrote:
> I experimented with the previous code, but no results are returned from the
> index. Someone can give me an example? I have been for some time trying to
> implement this functionality.
>
> Thanks.
>
> 2013/8/6 David Miranda <david.b.miranda@gmail.com>
>
>> Do this with the BooleanQuery:
>>
>>> Query q1 = new QueryParser(Version.LUCENE_43, "label", analyzer
>>> ).parse(label);
>>> Query q2 = new QueryParser(Version.LUCENE_43, "abstract", analyzer
>>> ).parse(abstract);
>>> BooleanQuery bq = new BooleanQuery();
>>> booleanQuery.add(q1,BooleanClause.Occur.MUST);
>>> booleanQuery.add(q2,BooleanClause.Occur.MUST);
>>> Hits hits = indexSearcher.search(booleanQuery);
>>
>>
>> This is right for what I want to do?
>>
>> Thanks.
>>
>> 2013/8/6 Ian Lea <ian.lea@gmail.com>
>>
>> The standard way is to combine the searches by label and abstract into
>>> one query.  If using QueryParser a simple example would look something
>>> like label:aaa abstract:bbb abstract:ccc.  You can get the same
>>> effect, with more flexibility, by building a BooleanQuery in code.
>>>
>>> Also consider using a Filter e.g. QueryWrapperFilter on a query for
>>> label:aaa with the query generated by QueryParser or direct
>>> construction of a TermQuery.  See also CachingWrapperFilter if the
>>> index isn't constantly changing.
>>>
>>>
>>> --
>>> Ian.
>>>
>>>
>>> On Tue, Aug 6, 2013 at 3:19 PM, David Miranda <david.b.miranda@gmail.com>
>>> wrote:
>>> > Hi,
>>> >
>>> > I have a Lucene index that has the fields label and abstract.
>>> >
>>> > I want to do is first do a search by label field, for this i use:
>>> >
>>> > TopScoreDocCollector collector = TopScoreDocCollector.create(MAX_HITS,
>>> true
>>> >> );
>>> >> searcher.search(q, collector);
>>> >> ScoreDoc[] hits = collector.topDocs().scoreDocs;
>>> >
>>> >
>>> > After the results of the first survey, I want to do a search in the
>>> > abstract field only in results obtained from the first survey.
>>> >
>>> > How i do this?
>>> > Thanks in advance.
>>> >
>>> > David
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
>>> For additional commands, e-mail: java-user-help@lucene.apache.org
>>>
>>>
>>
>>
>> --
>> Cumprimentos,
>> David Miranda
>>
>
>
>
> --
> Cumprimentos,
> David Miranda

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message