Hi all,
Using the code snippet:
ComplexPhraseQueryParser qp = new ComplexPhraseQueryParser(“somefield”, new StandardAnalyzer());
String teststr = "\"Foo Bar\"~2";
Query queryToSearch = qp.parse(teststr);
System.out.println("Query : " + queryToSearch.toString());
System.out.println("Type of query : " + queryToSearch.getClass().getSimpleName());
I am getting the output
Query : "Foo Bar"~2
Type of query : ComplexPhraseQuery
If I change teststr to "\"Foo Bar\""
I get
Query : "Foo Bar"
Type of query : ComplexPhraseQuery
If I change teststr to "Foo Bar"
I get
Query : content:foo content:bar
Type of query : BooleanQuery
In the first two cases I was expecting the search terms to be switched to lowercase.
Were the Foo and Bar left as originally specified because the terms are inside double quotes?
How can I specify a search term that I want treated as a Phrase,
but also have the query parser apply the LowerCaseFilter?
I am hoping to avoid the need to handle this using PhraseQuery,
and continue to use the QueryParser.
Thanks in advance for any help you can give me,
David Shifflett
Using the code snippet:
ComplexPhraseQueryParser qp = new ComplexPhraseQueryParser(“somefield”, new StandardAnalyzer());
String teststr = "\"Foo Bar\"~2";
Query queryToSearch = qp.parse(teststr);
System.out.println("Query : " + queryToSearch.toString());
System.out.println("Type of query : " + queryToSearch.getClass().getSimpleName());
I am getting the output
Query : "Foo Bar"~2
Type of query : ComplexPhraseQuery
If I change teststr to "\"Foo Bar\""
I get
Query : "Foo Bar"
Type of query : ComplexPhraseQuery
If I change teststr to "Foo Bar"
I get
Query : content:foo content:bar
Type of query : BooleanQuery
In the first two cases I was expecting the search terms to be switched to lowercase.
Were the Foo and Bar left as originally specified because the terms are inside double quotes?
How can I specify a search term that I want treated as a Phrase,
but also have the query parser apply the LowerCaseFilter?
I am hoping to avoid the need to handle this using PhraseQuery,
and continue to use the QueryParser.
Thanks in advance for any help you can give me,
David Shifflett