Hi Sawan,

Sawan Sharma wrote:
> Now, The problem occured when I passed the multiple words in term query.
> e.g.<code>
> QueryFilter filter = new QueryFilter(new TermQuery(new Term(FieldName,
> FieldValue)));
> <code>
> where field name  and field value dynamically getting.
> here we take the example value.
> FieldName:- "Title"
> FieldValue:- "Software Development" ot it may be "Software AND
> Development".
> In this case i'm not getting the result. i.e . counts= 0.

It looks to me as though you expect the "Software AND Development" query
to be parsed so that it matches a document containing both "Software"
and "Development" terms, but TermQuery does not do query parsing - in
the code above, you are telling Lucene to use "Software AND Development"
as a literal string to be matched.

Perhaps you should be using QueryParser[1] to parse user-supplied queries?

At a minimum, you should make sure that the analyzer used to produce
your index is compatible with the one you use with your queries.  The
simplest form of compatibility, of course, is to use the same analyzer
in both places.  (See the FAQ "Why is it important to use the same
analyzer type during indexing and search?"[2])

As always when questions about the contents of indexes come up, Luke[3]
is indispensable.

Steve

[1]
<http://lucene.apache.org/java/2_2_0/api/org/apache/lucene/queryParser/QueryParser.html>
[2]
<http://wiki.apache.org/lucene-java/LuceneFAQ#head-0f374b0fe1483c90fe7d6f2c44472d10961ba63c>
[3] <http://www.getopt.org/luke/>

-- 
Steve Rowe
Center for Natural Language Processing
http://www.cnlp.org/tech/lucene.asp

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to