On 06.12.2012, at 16:43, Robert Haycock 
<[email protected]> wrote:

> That explains it. I thought the analyzer was also used for indexing, from my 
> Lucene days.

The analyzer is used both for indexing the full text index *and* for parsing 
the terms in the jcr:contains() of the query (otherwise things like stemming or 
lower-casing in the analyzer wouldn't work in all cases).

The "full text index" is aggregated on the node by default and all properties 
(incl. text extracted from binary properties) contribute to it. Individual 
properties however, are indexed separately as fixed strings, and this is where 
@prop = "foo", jcr:like() and the fn:lower/upperCase() functions come into play.

You can also do jcr:contains(@property, "...."), I am not exactly sure what 
happens in this case (if there is also a full text index for the invidual 
properties).

Cheers,
Alex

Reply via email to