You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Nuno Santos (Jira)" <ji...@apache.org> on 2022/07/29 12:49:00 UTC
[jira] [Created] (OAK-9875) Prefix query on a Long, analyzed field fails when executed over Elastic
Nuno Santos created OAK-9875:
--------------------------------
Summary: Prefix query on a Long, analyzed field fails when executed over Elastic
Key: OAK-9875
URL: https://issues.apache.org/jira/browse/OAK-9875
Project: Jackrabbit Oak
Issue Type: Bug
Components: indexing
Reporter: Nuno Santos
Index definition:
{noformat}
"testIndex": {
"jcr:primaryType": "nt:unstructured",
"analyzed": true,
"type": "Long",
"name": "propa"
}
{noformat}
Data:
{noformat}
/test/a [propa = 1234 ]
/test/b [propa = "1234"]
/test/c [propa = "1234a"]
{noformat}
The following query executed with Elastic:
{noformat}
/jcr:root//*[jcr:contains(@propa, '123*')]
{noformat}
fails with:
{noformat}
14:28:51.713 ERROR [I/O dispatcher 1] ElasticResultRowAsyncIterator.java:326 Error retrieving data from Elastic: closing scanner, notifying listeners
co.elastic.clients.elasticsearch._types.ElasticsearchException: [es/search] failed: [search_phase_execution_exception] all shards failed
at co.elastic.clients.transport.rest_client.RestClientTransport.getHighLevelResponse(RestClientTransport.java:281)
at co.elastic.clients.transport.rest_client.RestClientTransport.access$200(RestClientTransport.java:63)
{noformat}
The detailed error is not shown in the logs, but can be found by repeating the query directly to Elastic:
{noformat}
"Can only use prefix queries on keyword, text and wildcard fields - not on [propa] which is of type [long] {noformat}
The same query executes correctly with Lucene.
h3. Analysis
The root cause of the problem is that the Elastic plugin does not create a field for full text search on typed properties:
[https://github.com/apache/jackrabbit-oak/blob/e13d6c7dc5df3087955a85cb28f5bfb8b6171977/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/index/ElasticIndexHelper.java#L197]
Therefore, it is not possible to run full text queries on this index.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)