Spring data elasticsearch根据请求参数动态创建索引,percolator支持并通过elasticsearch操作创建索引
我先通读一遍 我的要求Spring data elasticsearch根据请求参数动态创建索引,percolator支持并通过elasticsearch操作创建索引,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我先通读一遍 我的要求 我想用渗滤器。spring data elasticsearch中是否支持它?我在上面的链接中没有看到任何内容,尽管我知道渗透和索引是一样的(从使用SpringDataElasticSearch的角度来看)。所以我可以使用spring data elasticsearch的索引部分,但只需检查是否有特定于percolator的索引 我想动态创建一个索引。我知道我可以使用中提到的SpEL模板表达式实现这一点,但我的情况略有不同,我将通过RequestParam获取索引名,作
非常感谢任何线索/帮助首先非常感谢@p.J.Meisch。把你的两个评论都投了赞成票,以示感谢 下面是我的工作。下面可能会帮助其他人在未来
Document mapping = Document.create().fromJson("{\n" +
"\n" +
" \"properties\": {\n" +
" \"message\": {\n" +
" \"type\": \"text\"\n" +
" },\n" +
" \"query\": {\n" +
" \"type\": \"percolator\"\n" +
" }\n" +
" }\n" +
"\n" +
"}");
Map<String, Object> settings = ImmutableMap.of( "number_of_shards" ,2,"number_of_replicas",1);
elasticsearchOperations.indexOps(IndexCoordinates.of("whatever-indexname-you-need")).create(settings,mapping);
Document mapping=Document.create().fromJson(“{\n”+
“\n”+
“\”属性\“:{\n”+
“\”消息\“:{\n”+
“\”类型\“:\”文本\“\n”+
},\n+
“\”查询\“:{\n”+
“\”类型\“:\”过滤器\“\n”+
“}\n”+
“}\n”+
“\n”+
"}");
映射设置=ImmutableMap.of(“碎片的数量”,2,“副本的数量”,1);
elasticsearchOperations.indexOps(IndexCoordinates.of(“您需要的任何indexname”))。创建(设置、映射);
IndexOperations.createWithMapping()
从当前版本4.2开始,它在一次调用中创建带有设置和映射的索引。0@P.J.Meisch-感谢您的回复和宝贵时间。由于我希望索引名是动态的(即我接受作为API端点中的参数),我将无法使用任何需要@Document(indexName=“索引名”)。elasticsearchOperations.indexOps(IndexCoordinates.of(“您需要的任何indexName”))。创建(设置、映射)
Document mapping = Document.create().fromJson("{\n" +
"\n" +
" \"properties\": {\n" +
" \"message\": {\n" +
" \"type\": \"text\"\n" +
" },\n" +
" \"query\": {\n" +
" \"type\": \"percolator\"\n" +
" }\n" +
" }\n" +
"\n" +
"}");
Map<String, Object> settings = ImmutableMap.of( "number_of_shards" ,2,"number_of_replicas",1);
elasticsearchOperations.indexOps(IndexCoordinates.of("whatever-indexname-you-need")).create(settings,mapping);