Thomas Mueller created OAK-11530:
------------------------------------
Summary: Elasticsearch: "field name cannot be an empty string" if
fields start with a dot
Key: OAK-11530
URL: https://issues.apache.org/jira/browse/OAK-11530
Project: Jackrabbit Oak
Issue Type: Improvement
Components: elastic-search
Reporter: Thomas Mueller
Assignee: Thomas Mueller
If an index definition has a property that starts with a dot, then the
Elasticsearch index creation fails. e.g.:
{noformat}
"test": {
"name": "./jcr:content/test",
"propertyIndex": true,
"jcr:primaryType": "nam:nt:unstructured"
}
ERROR c.a.g.indexing.tool.elastic.Main - Can't perform operation
co.elastic.clients.elasticsearch._types.ElasticsearchException:
[es/indices.create] failed: [mapper_parsing_exception] Failed to parse mapping:
field name cannot be an empty string
at
co.elastic.clients.transport.ElasticsearchTransportBase.getApiResponse(ElasticsearchTransportBase.java:345)
at
co.elastic.clients.transport.ElasticsearchTransportBase.performRequest(ElasticsearchTransportBase.java:147)
at
co.elastic.clients.elasticsearch.indices.ElasticsearchIndicesClient.create(ElasticsearchIndicesClient.java:277)
at
org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexWriter.provisionIndex(ElasticIndexWriter.java:196)
at
org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexWriter.<init>(ElasticIndexWriter.java:88)
at
org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexWriterFactory.newInstance(ElasticIndexWriterFactory.java:47)
at
org.apache.jackrabbit.oak.index.indexer.document.ElasticIndexerProvider.getIndexer(ElasticIndexerProvider.java:68)
at
org.apache.jackrabbit.oak.index.indexer.document.DocumentStoreIndexerBase.prepareIndexers(DocumentStoreIndexerBase.java:546)
at
org.apache.jackrabbit.oak.index.indexer.document.DocumentStoreIndexerBase.reindex(DocumentStoreIndexerBase.java:385)
{noformat}
There are multiple issues:
* I think for compatibility with Lucene indexes, it would be better if dots
work here.
* The logging should include the index definition JSON.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)