又做了如下测试
- 创建带有几种属性的索引
curl -X DELETE '10.0.0.0:9200/test123'
curl -X PUT '10.0.0.0:9200/test123' -H 'Content-Type: application/json' -d'
{
"mappings": {
"_source": {
"includes": [],
"excludes": []
},
"dynamic_templates": [
{
"string_template": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
],
"properties": {
"id": {
"type": "keyword"
}
}
}
}'
索引无法被starrock查询,报错信息
2023-10-23 13:23:34,098 WARN (starrocks-mysql-nio-pool-12|473012) [ShowExecutor.handleShowTable():903] table es_test.default_db.test345 does not exist
2023-10-23 13:23:34,114 ERROR (starrocks-mysql-nio-pool-12|473012) [ElasticsearchMetadata.toEsTable():89] transform to EsTable Error
com.starrocks.common.AnalysisException: index[test123] 's properties not found for the ES
at com.starrocks.connector.elasticsearch.EsUtil.parseProperties(EsUtil.java:207) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.EsUtil.convertColumnSchema(EsUtil.java:122) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.ElasticsearchMetadata.toEsTable(ElasticsearchMetadata.java:78) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.ElasticsearchMetadata.getTable(ElasticsearchMetadata.java:71) ~[starrocks-fe.jar:?]
at com.starrocks.server.MetadataMgr.lambda$getTable$3(MetadataMgr.java:226) ~[starrocks-fe.jar:?]
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_261]
at com.starrocks.server.MetadataMgr.getTable(MetadataMgr.java:226) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ShowExecutor.handleShowTable(ShowExecutor.java:901) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ShowExecutor.execute(ShowExecutor.java:271) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.handleShow(StmtExecutor.java:1335) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:613) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:362) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:476) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:742) ~[starrocks-fe.jar:?]
at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:69) ~[starrocks-fe.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_261]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_261]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_261]
- 减少部分数据,并进行测试
curl -X DELETE '10.0.0.0:9200/test345'
curl -X PUT '10.0.0.0:9200/test345' -H 'Content-Type: application/json' -d'
{
"mappings": {
"dynamic_templates": [
{
"string_template": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
],
"properties": {
"id": {
"type": "keyword"
}
}
}
}'
索引无法被starrock查询,报错信息
2023-10-23 13:23:34,098 WARN (starrocks-mysql-nio-pool-12|473012) [ShowExecutor.handleShowTable():903] table es_test.default_db.test345 does not exist
2023-10-23 13:23:34,114 ERROR (starrocks-mysql-nio-pool-12|473012) [ElasticsearchMetadata.toEsTable():89] transform to EsTable Error
com.starrocks.common.AnalysisException: index[test123] 's properties not found for the ES
at com.starrocks.connector.elasticsearch.EsUtil.parseProperties(EsUtil.java:207) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.EsUtil.convertColumnSchema(EsUtil.java:122) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.ElasticsearchMetadata.toEsTable(ElasticsearchMetadata.java:78) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.ElasticsearchMetadata.getTable(ElasticsearchMetadata.java:71) ~[starrocks-fe.jar:?]
at com.starrocks.server.MetadataMgr.lambda$getTable$3(MetadataMgr.java:226) ~[starrocks-fe.jar:?]
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_261]
at com.starrocks.server.MetadataMgr.getTable(MetadataMgr.java:226) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ShowExecutor.handleShowTable(ShowExecutor.java:901) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ShowExecutor.execute(ShowExecutor.java:271) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.handleShow(StmtExecutor.java:1335) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:613) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:362) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:476) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:742) ~[starrocks-fe.jar:?]
at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:69) ~[starrocks-fe.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_261]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_261]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_261]
- 删除所有其他额外属性
curl -X DELETE '10.0.0.0:9200/test456'
curl -X PUT '10.0.0.0:9200/test456' -H 'Content-Type: application/json' -d'
{
"mappings": {
"properties": {
"id": {
"type": "keyword"
}
}
}
}'
能够查询成功
MySQL [default_db]> show tables;
+----------------------+
| Tables_in_default_db |
+----------------------+
| test456 |
+----------------------+
4 rows in set (0.07 sec)
MySQL [default_db]>
- 加上动态索引属性
curl -X DELETE '10.35.3.58:9200/test567'
curl -X PUT '10.35.3.58:9200/test567' -H 'Content-Type: application/json' -d'
{
"mappings": {
"dynamic": "true",
"_source": {
"includes": [],
"excludes": []
},
"dynamic_templates": [
{
"string_template": {
"match": "*",
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
],
"properties": {
"id": {
"type": "keyword"
}
}
}
}'
索引无法被starrock查询,报错信息
2023-10-23 13:23:34,070 WARN (starrocks-mysql-nio-pool-12|473012) [ShowExecutor.handleShowTable():903] table es_test.default_db.test567 does not exist
2023-10-23 13:23:34,097 ERROR (starrocks-mysql-nio-pool-12|473012) [ElasticsearchMetadata.toEsTable():89] transform to EsTable Error
java.lang.ClassCastException: org.json.JSONArray cannot be cast to org.json.JSONObject
at com.starrocks.connector.elasticsearch.EsUtil.parsePropertiesRoot(EsUtil.java:237) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.EsUtil.parseProperties(EsUtil.java:202) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.EsUtil.convertColumnSchema(EsUtil.java:122) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.ElasticsearchMetadata.toEsTable(ElasticsearchMetadata.java:78) ~[starrocks-fe.jar:?]
at com.starrocks.connector.elasticsearch.ElasticsearchMetadata.getTable(ElasticsearchMetadata.java:71) ~[starrocks-fe.jar:?]
at com.starrocks.server.MetadataMgr.lambda$getTable$3(MetadataMgr.java:226) ~[starrocks-fe.jar:?]
at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_261]
at com.starrocks.server.MetadataMgr.getTable(MetadataMgr.java:226) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ShowExecutor.handleShowTable(ShowExecutor.java:901) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ShowExecutor.execute(ShowExecutor.java:271) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.handleShow(StmtExecutor.java:1335) ~[starrocks-fe.jar:?]
at com.starrocks.qe.StmtExecutor.execute(StmtExecutor.java:613) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.handleQuery(ConnectProcessor.java:362) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.dispatch(ConnectProcessor.java:476) ~[starrocks-fe.jar:?]
at com.starrocks.qe.ConnectProcessor.processOnce(ConnectProcessor.java:742) ~[starrocks-fe.jar:?]
at com.starrocks.mysql.nio.ReadListener.lambda$handleEvent$0(ReadListener.java:69) ~[starrocks-fe.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_261]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_261]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_261]