package com.manning.hsia.dvdstore;
import org.apache.lucene.analysis.SimpleAnalyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Query;
import org.testng.annotations.Test;
public class TestQueryParserQueryGeneration {
@Test(groups="ch07")
public void testQueryParser() throws Exception {
String queryString = "The Story of the Day";
QueryParser parser = new QueryParser( "title", new StandardAnalyzer() );
Query query = parser.parse( queryString );
assert query.toString().equals( "title:story title:day" );
queryString = "The Story of the Day";
parser = new QueryParser( "title", new SimpleAnalyzer() );
query = parser.parse( queryString );
assert query.toString().equals( "title:the title:story title:of title:the title:day" );
queryString = "Story*";
parser = new QueryParser( "title", new StandardAnalyzer() );
query = parser.parse( queryString );
assert query.toString().equals( "title:story*" );
queryString = "Story~0.8 Judgement";
parser = new QueryParser( "title", new StandardAnalyzer() );
parser.setDefaultOperator( QueryParser.Operator.AND );
query = parser.parse( queryString );
assert query.toString().equals( "+title:story~0.8 +title:judgement" );
}
}