“elasticsearchrepository”中的所有方法都已弃用我应该用什么?

8gsdolmq  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(1)|浏览(1632)

我有个问题:

NativeSearchQuery searchQuery = new NativeSearchQueryBuilder()
                .withQuery(multiMatchQuery(searchPattern)
                        .field("fullName")
                        .field("npi")
                        .type(MultiMatchQueryBuilder.Type.BEST_FIELDS))
                .build();

我该怎么办?中的所有方法 ElasticsearchRepository 已弃用:

public interface ElasticsearchRepository<T, ID> extends PagingAndSortingRepository<T, ID> {
    /**@deprecated */
    @Deprecated
    default <S extends T> S index(S entity) {
        return this.save(entity);
    }

    /**@deprecated */
    @Deprecated
    <S extends T> S indexWithoutRefresh(S var1);

    /**@deprecated */
    Iterable<T> search(QueryBuilder var1);

    /**@deprecated */
    Page<T> search(QueryBuilder var1, Pageable var2);

    /**@deprecated */
    Page<T> search(Query var1);

    Page<T> searchSimilar(T var1, @Nullable String[] var2, Pageable var3);

    /**@deprecated */
    @Deprecated
    void refresh();
}
ngynwnxp

ngynwnxp1#

不推荐使用的方法的javadoc声明
或者使用findbyname这样的标准方法名派生来定义查询
或者使用 @Query 带查询字符串的注解
或者不使用存储库接口,而是使用 ElasticsearchOperations 通过你的习惯 Query 派生查询。
我们不推荐使用 Query 班级。不仅在spring数据ElasticSearch中,在其他模块中也没有介绍;有关更多信息,请参见对本期SpringDataMongo问题的评论。

相关问题