Hi :)

I would like to retrieve a document from my index which must have a field called "tag" for which the value must be "(01) value1" or "value2". I'm using the lucene java api.

My code is the following:

String expression = "tag:(\"(01) value1\" value2)"
QueryParser parser = new QueryParser(Version.LUCENE_35, field, RepositoryManager.getPerFieldAnalyzerWrapper(Version.LUCENE_35));
Query query = parser.parse(expression);
BooleanQuery bQuery = new BooleanQuery();
bQuery.add(query, Occur.MUST);

The tag field is associated to a keyword analyzer.

My problem is that the query parser removes the " characters. It returns the query tag:(01) value1 tag:value2 which becomes +(tag:(01) value1 tag:value2) when added to the boolean query and when the query is executed it becomes +(tag:(UE) default_field:value1 tag:value2)

So it will return documents which have their tag field having the value "value2" but not those with "(01) value1".

In the end I would like to obtain the query +(tag:"(01) value1" tag:"value2").

Thanks,
Gary




---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org

Reply via email to