gpt4 book ai didi

java - Morphia 多字段排序不适用于类似电话簿的排序

转载 作者:行者123 更新时间:2023-12-01 09:15:17 26 4
gpt4 key购买 nike

我有一个像这样的简单文档:

@Entity("users")
@Indexes(@Index(fields = {@Field("lastName"), @Field("firstName")}))
public class User extends Model {
@Indexed public String email;
public String firstName;
@Indexed public String lastName;
public String employer;
}

然后有一个搜索功能,可以查找姓名(名字/姓氏)和/或雇主的条目。

目标是按姓氏然后名字对结果进行排序,完全像电话簿的呈现方式一样。

我的搜索查询如下所示:

q.field("employer").containsIgnoreCase(input);
q.order("lastName,firstName");
q.limit(25);
q.offset(start);

现在发生的情况是结果按 q.order() 行中指定的第一个字段进行排序,但没有发生对 lastName 进行排序,并且名字

据我了解对多列进行排序,需要有一个复合索引,我确实为此集合定义了该索引。所以我只是想念我所缺少的东西。

最佳答案

我使用 Datastore Morphia 类,排序效果完美

        List<Page> result = datastore.find(Page.class)
.field("isFeatured").equal(true)
.order("parseDate, parsePriority").limit(limit).asList();

关于java - Morphia 多字段排序不适用于类似电话簿的排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40597243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com