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

Reply via email to