我在这个问题中粘贴了错误,这是真的:没有 Sugestao 索引。正确的名称是 sugestao(记下 S 与 s)。
据我所知,我无法创建大写索引。到目前为止,一切都很好。问题是:如何“强制”spring-data-elasticsearch 搜索 sugestao 而不是 Sugestao,因为我的模型是大写的 java 类?我猜它会自动选择大写字母。
在 Spring-Data-Elasticsearch-3.2.6 (Elastic version 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 版本中我可以传递一个字符串,现在在搜索中它需要一个类。但是要设置索引名称的是哪个类?
也许我可以在其他 spring-data-elasticsearch 配置中设置索引的名称或将其设置为使用小写,然后我可以在不添加索引名称的情况下进行搜索。
通量>fluxSearchHits = reactiveElasticsearchOperations.search(query.build(), Sugestao.class);