Hi, I was trying to use SpanRegexQuery in Lucene 3.03 to find terms that match regular expression. The reason I use SpanRegexQuery instead of RegexQuery is
because I want to get all matches of the regular expression (if there are multiple ones in a document), not just documents containing these matches. However when I call the getSpans() method, I get this exception: Exception in thread "main" java.lang. UnsupportedOperationException: Query should have been rewritten This is the code I used: SpanRegexQuery test = new SpanRegexQuery(new Term("tags", "such/.*")); Spans spans = test.getSpans(reader); I switched to Lucene 3.1 in the hope of fixing this "bug", where SpanRegexQuery is deprecated and replaced by RegexQuery reg = new RegexQuery(new Term("tags", "such/.*")); SpanQuery test = new SpanMultiTermQueryWrapper<RegexQuery>(reg); Spans spans = test.getSpans(reader); The same exception is thrown again. I am not sure if it is a bug? How to solve this problem ? Any idea? The getSpans() works well for other span queries..... Best, Tianyu