Which analyzer are you using in your query parser ?
can you share the one line of code in which you construct a QueryParser Object.
As you might be parsing a query string made of different fields, I
suggest you use a
PerFieldAnalyzerWrapper which lets you do unique analysis for different fields.
~sandeep
On 31/08/2007, Harini Raghavan <[EMAIL PROTECTED]> wrote:
> Hi Everyone,
>
> I am facing some strange behaviour with Analyzers. I am using SimpleAnalyzer
> for some fields in my Compass entity, but I also wrote a custom Analyzer
> that is slightly different from the SimpleAnalyzer as I wanted to allow even
> letters and digits in company name column.
> So custom analyzer CompanyNameAnalyzer uses the following tokenizer.
>
> public class CompanyNameTokenizer extends CharTokenizer {
> /** Construct a new CompanyNameTokenizer. */
> public CompanyNameTokenizer(Reader in) {
> super(in);
> }
>
> protected char normalize(char c) {
> return Character.toLowerCase(c);
> }
>
> /** Collects only characters which are numbers or letters */
> protected boolean isTokenChar(char c) {
> Character ch = new Character(c);
> // Exclude @ special character while tokenizing
> if(Character.isLetterOrDigit(c) || ch.equals('@'))
> return true;
> else
> return false;
> }
> }
>
> But for some reason when I search for +companyName:good +companyName:will,
> the word 'will' is ignored in the search, I get results that match only
> good. I guess this means that 'will' is being stripped off as it is a stop
> word. I don't understand why this should happen because the custom Analyzer
> I am using does not use the StopFilter. So why should it filter the stop
> words?
>
> I tried looking at the Lucene source too, but no luck. Any suggestions would
> be appreciated.
>
> Thanks,
> Harini
>
--
SANDEEP CHAWLA
House No- 23
10th main
BTM 1st Stage
Bangalore Mobile: 91-9986150603
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]