jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Klimetschek <aklim...@day.com>
Subject Re: Jackrabbit search does not work with jcr:contains(@title, '&')
Date Fri, 03 Jul 2009 12:36:14 GMT
On Fri, Jul 3, 2009 at 2:16 PM, Kooper<sergeysachkov@list.ru> wrote:
> Hi,
> I have the following issue:
> jackrabbit search does not work with jcr:contains(@title, '&'), i have query
> something like this:
> //*[(jcr:like(fn:lower-case(@type), '%binder%') or
> jcr:like(fn:lower-case(@type), '%document%')) and (jcr:contains(@title,
> '&'))] order by  @jcr:created descending
> it returns 0, but names with & exists in JCR, when I do search with
> combination '&' + letter it works ok. Does any one know how it could be
> solved? Any help will be appreciated.

Try jcr:like(@title, '%&%'). The contains works on the Lucene-analyzed
words, so I guess & is considered a delimiter and not put into the
index as a single word.

The jcr:contains supports wildcards in form of '*' as well, so you
could do it with jcr:contains(@title, '*&*'), but my quick test showed
it fails if there are spaces next to the & char.

In general, don't rely on jcr:contains() for "specific",
application-based searches. It should always be used only for direct
"fuzzy" user searches.


Alexander Klimetschek

View raw message