QueryParser does not (currently) support SpanQuery's. PhraseQuery is what you'll always get with double-quoted strings. However, you can customize the behavior and get a SpanQuery instead by subclassing and overriding getPhraseQuery. In fact, this is an example I wrote for Lucene in Action.

        Erik


On Oct 18, 2004, at 2:39 PM, Rupinder Singh Mazara wrote:

hi all

 i have a question regarding the QueryParser and Proximity Searches
 I executed the following piece of code

    String x = "\"jakarta apache\"~100";
    QueryParser parser = new QueryParser("FULL_TEXT",new
StandardAnalyzer() );
    parser.setOperator( QueryParser.DEFAULT_OPERATOR_AND );
    Query query = parser.parse(x);
    System.out.println(query.getClass()+" - "+query.toString());

IndexReader indexReader = IndexReader.open( new File(luceneroot) );

    query =  query.rewrite(indexReader);
    System.out.println(query.getClass()+" - "+query.toString());

in both System.out.println I get the following result
class org.apache.lucene.search.PhraseQuery - FULL_TEXT:"jakarta apache"~100


is this correct, I was expecting to see a SpanQuery being formed at the
second println statement



I have take this from the example in http://jakarta.apache.org/lucene/docs/queryparsersyntax.html

If I remove the quotes I see a QueryParsing error which tell me that the
Similarity should be between 0.0 and 1.0
which is as expected


please let me know if I missed something


Regards


Rupinder


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


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



Reply via email to