Hey Thomas,
Thanks for the info!
I am using Jackrabbit Oak. (version 1.2.17). The thing is that I would like to
prefer to not find all the nodes that contain myword but not %%myword%%, seeing
as myword could for example be 'site', and this would return too many results,
I only want the results that really contain '%%site%%', not just 'site'
I have tried the \ escape character, unfortunately both returning the same
result as without escape character
/jcr:root/myfolder//*[jcr:contains(., '\%\%myword\%\%')]
SELECT * FROM [nt:base] AS s WHERE ISDESCENDANTNODE([/myfolder]) and
CONTAINS(s.*, '\%\%myword\%\%')
Do you see any other option without having to use
/jcr:root/myfolder//*[jcr:contains(., 'myword')] and iterate all the results
in java to check for %%myword%%?
Thanks!
Roy
> On 12 Jan 2017, at 11:52, Thomas Mueller <[email protected]> wrote:
>
> Hi,
>
> For jcr:contains, the escape character is '\'. Maybe the problem is that
> the fulltext index is not configured to index special characters such as %
> (it depends on the configuration; see "analyzed"). I would try this:
>
> /jcr:root/myfolder//*[jcr:contains(., 'myword')]
>
>
> There might be also a difference between Jackrabbit 2.x and Jackrabbit
> Oak. Which one (and which version) do you use?
>
> Regards,
> Thomas
>
>
>
> On 11/01/17 18:18, "Roy Teeuwen" <[email protected]> wrote:
>
>> Hey all,
>>
>> I am trying to do a query where the actual word I am looking for looks
>> like %%myword%%. I have tried the following in XPATH and JCR_SQL2, but it
>> seems that the % sign is in both query languages a wildcard, meaning i
>> will find all the nodes containing myword instead of %%myword%%. How can
>> I escape the % sign in either XPATH or JCR_SQL2?
>>
>> JCR_SQL2:
>> SELECT * FROM [nt:base] AS s WHERE ISDESCENDANTNODE([/myfolder]) and
>> CONTAINS(s.*, '%%myword%%')
>>
>> XPATH:
>> /jcr:root/myfolder//*[jcr:contains(., '%%myword%%')]
>>
>> Thanks!
>> Roy
>