index_not_found_exception, reason=no such index [Sugestao]] - 如何将索引名称传递给 reactiveElasticsearchOperations.search
index_not_found_exception, reason=no such index [Sugestao]] - how pass index name to reactiveElasticsearchOperations.search
我在这个问题中看到了错误,这是真的:没有 Sugestao 索引。专有名称是 sugestao(记下 S 与 s)。
据我所知,我无法创建大写索引。到目前为止,一切都很好。问题是:"force" spring-data-elasticsearch 如何搜索 sugestao 而不是 Sugestao,因为我的模型是大写的 java class?我猜它会自动拾取大写字母。
在 Spring-Data-Elasticsearch-3.2.6(Elastic 版本 6.x)中,我可以看到 find 有一个清晰的设置方式
reactiveElasticsearchOperations.find(
query.build(),
Sugestao.class, // this is the model class
"this_is_my_index_name" //here I can write the name of the index with lower case
)
如何在 Spring-data-Elasticsearch.4(Elastic 版本 7.x)中执行类似的方法我正在尝试搜索,因为 find 已被弃用
Flux<SearchHit<Sugestao>> fluxSearchHits =
reactiveElasticsearchOperations.search(query.build(), Sugestao.class, "sugestao");
然后我得到
ReactiveSearchOperations 类型中的方法 search(Query, Class, Class) 不适用于参数 (NativeSearchQuery, Class, String)
一些相关的子问题是:
似乎在已弃用的 Find 版本中我可以传递一个字符串,现在在搜索中它期待一个 Class。但是哪个class是用来设置索引名的呢?
也许我可以在其他 spring-data-elasticsearch 配置中设置索引名称或将其设置为使用小写然后我可以在不添加索引名称的情况下进行搜索。
Flux> fluxSearchHits = reactiveElasticsearchOperations.search(query.build(), Sugestao.class);
我想你的实体上没有 @Document
注释 class?
@Document(indexName="sugestao")
public class Sugestao {
// class stuff
}
那你可以打电话
Flux<SearchHit<Sugestao>> fluxSearchHits =
reactiveElasticsearchOperations.search(query.build(), Sugestao.class);
如果你想明确指定索引名称,你可以使用
Flux<SearchHit<Sugestao>> fluxSearchHits =
reactiveElasticsearchOperations.search(query.build(),
Sugestao.class, IndexCoordinates.of("sugestao");
我在这个问题中看到了错误,这是真的:没有 Sugestao 索引。专有名称是 sugestao(记下 S 与 s)。
据我所知,我无法创建大写索引。到目前为止,一切都很好。问题是:"force" spring-data-elasticsearch 如何搜索 sugestao 而不是 Sugestao,因为我的模型是大写的 java class?我猜它会自动拾取大写字母。
在 Spring-Data-Elasticsearch-3.2.6(Elastic 版本 6.x)中,我可以看到 find 有一个清晰的设置方式
reactiveElasticsearchOperations.find(
query.build(),
Sugestao.class, // this is the model class
"this_is_my_index_name" //here I can write the name of the index with lower case
)
如何在 Spring-data-Elasticsearch.4(Elastic 版本 7.x)中执行类似的方法我正在尝试搜索,因为 find 已被弃用
Flux<SearchHit<Sugestao>> fluxSearchHits =
reactiveElasticsearchOperations.search(query.build(), Sugestao.class, "sugestao");
然后我得到
ReactiveSearchOperations 类型中的方法 search(Query, Class, Class) 不适用于参数 (NativeSearchQuery, Class, String)
一些相关的子问题是:
似乎在已弃用的 Find 版本中我可以传递一个字符串,现在在搜索中它期待一个 Class。但是哪个class是用来设置索引名的呢?
也许我可以在其他 spring-data-elasticsearch 配置中设置索引名称或将其设置为使用小写然后我可以在不添加索引名称的情况下进行搜索。
Flux> fluxSearchHits = reactiveElasticsearchOperations.search(query.build(), Sugestao.class);
我想你的实体上没有 @Document
注释 class?
@Document(indexName="sugestao")
public class Sugestao {
// class stuff
}
那你可以打电话
Flux<SearchHit<Sugestao>> fluxSearchHits =
reactiveElasticsearchOperations.search(query.build(), Sugestao.class);
如果你想明确指定索引名称,你可以使用
Flux<SearchHit<Sugestao>> fluxSearchHits =
reactiveElasticsearchOperations.search(query.build(),
Sugestao.class, IndexCoordinates.of("sugestao");