---------- Forwarded message ----------
From: Marius Dumitru Florea <mariusdumitru.florea(a)xwiki.com>
Date: Thu, Apr 3, 2014 at 6:03 PM
Subject: Re: Re[2]: [xwiki-users] SearchSuggest parameters in a new
syntax gives different behaviour
To: Dmitry Bakbardin <haru_mamburu(a)mail.ru>
On Wed, Apr 2, 2014 at 2:03 PM, Dmitry Bakbardin <haru_mamburu(a)mail.ru> wrote:
Hi, Marius!
See below.
Wed, 2 Apr 2014 10:41:32 +0300 от Marius Dumitru Florea
<mariusdumitru.florea(a)xwiki.com>om>:
On Wed, Apr 2, 2014 at 9:53 AM, Marius Dumitru Florea
<mariusdumitru.florea(a)xwiki.com> wrote:
Hi Dmitry,
On Mon, Mar 31, 2014 at 5:33 AM, Dmitry Bakbardin <haru_mamburu(a)mail.ru>
wrote:
Hi, all!
5.2 -> 5.4.3 Upgrade
Xwiki.SearchSuggest objects were changed
It was:
type:OBJECT AND (class:XWiki.BlogPostClass) AND objcontent:(__INPUT__*)
It is:
fq=type:DOCUMENT
fq=class:Blog.BlogPostClass
qf=object.Blog.BlogPostClass
The main difference:
- it was "__INPUT__*" query string and
- (as far as I understood) it is "__INPUT__" if parameter "q" is
omitted
The result is Solr Suggest changes it's behaviour and gives only exact
results.
To make Search Suggest running as it was, we have to add: "q=__INPUT__*"
Is it done by puprpose or it is a bug and I have
to "jira" it?
On purpose. I did it as part of
http://jira.xwiki.org/browse/XWIKI-10051 (check the documentation
links). The reason I dropped the * (star) is because:
(1) Prefix matching is costly
If Search Suggest is too costly, we can turn it off
completely :)
Not if there is a way to improve it. My idea was to offer by default
something that performs well, but I agree that it could also be seen
as an optimization.
(2) The search suggest is not a filter (in the
sense that you have a
list of item and you type some text and it filters the items starting
with that text). Search is more complex. The search text is analysed,
stop words are removed, etc.
(3) It was a fake prefix matching, because if you typed more words,
only the last word was matched as prefix (not the entire text). All
the other were analysed.
IMHO, suggest means we prefer suggest more than exact search results. What I
mean, that all languages wich have declensioin are too sensitive to the
__INPUT__* search.
Usual use case for such a search is: you enter root of the word and get back
suggest of ALL forms of the word.
Even in English, which is much less "declensionable", singular and plural
is the case.
E.g. "wiki" input will give only exact much
and won't show "wikis". Thus, it
makes Solr Sugges much less relevant.
typing "wiki" (without the quotes) definitely matches "wikis" if the
document (default) language is English. That is not the problem. The
"problem" is if you type "wik".
As you said, you can get back the previous behaviour using "q=__INPUT__*"
Yes, it was the firs I did, 'cause nearly to all my search strings Solr gave
me "no results". It wasn't so "severe" before the upgrade. :)
IMHO, it's better to leave "__INPUT__*"
in default settings and amend
documentation with performance/relevancy issues tricks for Solr Suggest
tuning. "*" would be useful for most use cases, and would make Suggest
effective, especially for new users who start playing with XWike.
I do agree, that in the high load projects it could be essential to tweak
default behaviour or turn it off at all.
I'd like to hear what others think about this. Do simple users expect
the search suggest to perform a prefix match or a standard match? In
other words, when a user types in the search suggest, does he type the
whole word or just a few letters (a prefix)?
Again, note that the previous behaviour was applying prefix matching
only for the last "word" in the search query, not for all of the words
in the query.
Thanks,
Marius
Let me know what yo think,
Marius
>
>
> Kind regards,
>
> Dmitry
> _______________________________________________
> users mailing list
> users(a)xwiki.org
>
http://lists.xwiki.org/mailman/listinfo/users
Kind regards,
Dmitry