We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Having following code:
package org.example; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.core.LowerCaseFilter; import org.apache.lucene.analysis.miscellaneous.ASCIIFoldingFilter; import org.apache.lucene.analysis.standard.StandardFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; import org.apache.lucene.util.Version; import java.io.Reader; public class DefaultQA extends Analyzer { private Version _version = Version.LUCENE_48; @Override protected TokenStreamComponents createComponents(String s, Reader reader) { Tokenizer tokenizer = new StandardTokenizer(_version, reader); TokenStream result = new StandardFilter(_version, tokenizer); result = new LowerCaseFilter(_version, result); result = new ASCIIFoldingFilter(result); return new TokenStreamComponents(tokenizer, result); } }
package org.example; import org.apache.lucene.queryparser.classic.ParseException; import org.apache.lucene.queryparser.classic.QueryParser; import org.apache.lucene.util.Version; public class Main { public static void main(String[] args) throws ParseException { var qa = new DefaultQA(); var queryParser = new QueryParser(Version.LUCENE_48, "fieldName", qa); queryParser.setDefaultOperator(QueryParser.Operator.AND); var query = QueryParser.escape("more&more"); //this is the query I am trying to "parse" var searchQuery = queryParser.parse(query); var searchQuery2 = queryParser.createBooleanQuery("fieldName", query); var searchQuery3 = queryParser.createPhraseQuery("fieldName", query); System.out.println(searchQuery); System.out.println(searchQuery2); System.out.println(searchQuery3); } }
I am getting this result:
+fieldName:more +fieldName:more fieldName:more fieldName:more fieldName:"more more"
But what I expected was escaped query:
+fieldName:more\&more fieldName:more\&more fieldName:"more\&more"
It seems as bug to me that escaped query doesn't stay escaped.
Original issue was found on Lucenenet (Lucene.NET) port (apache/lucenenet#850)
Java Lucene 4.8, but it was allegedly tested even in Lucene 10.0.0 with the same results
Java Lucene 4.8
Lucene 10.0.0
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Description
Having following code:
I am getting this result:
But what I expected was escaped query:
It seems as bug to me that escaped query doesn't stay escaped.
Original issue was found on Lucenenet (Lucene.NET) port (apache/lucenenet#850)
Version and environment details
Java Lucene 4.8
, but it was allegedly tested even inLucene 10.0.0
with the same resultsThe text was updated successfully, but these errors were encountered: