Hi Lisheng- >> On a small index that I have I'd like to query certain fields by adding >> wildcards >> on either side of the term: foo -> *foo*. I realize the performance >> implications but there are some cases where these terms are crammed >> together in the indexed content (ie foonacho) and I need to be able to >> return this result when searching for foo or when searching for nacho. I'm >> curious what the best way to modify the TermQuery object is. I thought >> about doing it directly on the token as it gets parsed, but getNextToken() is >> final. Then I thought I could iterate over the TermQueries under the returned >> Query and change their term, but there's no setTerm method. Is the only >> way to do this by modifying the query string? Or is there some more elegant >> way to modify the terms in a Query object? Something else I haven't >> considered?
> Lucene already have class WildcardQuery, I think you can add "*" on either > side (or both), when creating Term: > > http://lucene.apache.org/java/3_0_1/api/core/index.html What about a more complex query string like: (foo OR nacho) AND ("bar baz") OR cheese~1.2. If I feed this to the MultiFieldQueryParser can I change the TermQueries afterward? Or am I going to have write some code to modify the original string? Thanks for your response, -Chris --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org