Just tried dismax which is even worse than edismax.
edismax is constructing a proximity search, for some reason.
Feels like there is some work to be done.
Nevertheless the attribute SYNONYM is there and edismax
could do the right processing for it.
From my understanding the endOffset seams also to be wrong,
because startOffset and endOffset is used for highlighting.
This means if I get a result for a synonym which is shorter (or longer)
than the original term the highlighting will be done for the length
of the original term which could be wrong (not tested yet).
So how should the querytime synonym expansion work?
- on single terms
- on multi-terms
- on phrases (if phrase matches a multi-term synonym)
Anything else?
Oh, the synonyms should be OR'ed together, right?
Regards
Bernd
Am 07.10.2011 13:59, schrieb Ahmet Arslan:
So the problem is in the ExtendedDismaxQParser because it
can't
handle synonym expansion?
Probably something like that but someone more familiar with e(dismax) query
parser plugin can clarify this. defType=lucene works as you expected, how about
defType=dismax ? Is it same as edismax?
From the analysis of SynonymFilterFactory I can see that
the type
is correctly set to SYNONYM.
But is that correct that endOffset has for all synonyms the
same value?
It marks the end of the original word and not the end of
the replacing synonym?
I suspect that edismax constructs a phrase query in this case. Can you add an
artificial document containing these three words: philosophie philosophy
filosofia Just to check whether it will be returned or not?