Spring数据弹性搜索findAll with OrderBy

时间:2015-11-22 15:13:37

标签: spring-data spring-data-elasticsearch

我正在使用spring数据的弹性搜索模块,但是我遇到了构建查询的麻烦。这是一个非常简单的查询。 我的文件如下:

@Document(indexName = "triber-sensor", type = "event")
public class EventDocument implements Event {

    @Id
    private String id;
    @Field(type = FieldType.String)
    private EventMode eventMode;
    @Field(type = FieldType.String)
    private EventSubject eventSubject;
    @Field(type = FieldType.String)
    private String eventId;
    @Field(type = FieldType.Date)
    private Date creationDate;
}

Spring数据存储库看起来像:

public interface EventJpaRepository extends ElasticsearchRepository<EventDocument, String> {

    List<EventDocument> findAllOrderByCreationDateDesc(Pageable pageable);

}

所以我试图先使用最新的事件获取creationDate所有的事件。但是,当我运行代码时,我得到一个异常(也在STS中):

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property desc found for type Date! Traversed path: EventDocument.creationDate.

所以它似乎没有拿起'OrderBy'部分?但是,带有findBy子句的查询(例如findByCreationDateOrderByCreationDateDesc)似乎没问题。另外一个findAll没有订购工作。 这是否意味着spring数据的弹性搜索模块不允许findAll进行排序?

1 个答案:

答案 0 :(得分:0)

尝试将添加到方法名称:
的findAll OrderByCreationDateDesc