【发布时间】:2018-04-08 09:31:54
【问题描述】:
我尝试使用 spring data mongodb 进行全文搜索,但遇到了问题。我有 3 个与 @DBRef 相关的文档:
@Data
@Document
@NoArgsConstructor
public class Order {
@DBRef
private Client client;
@DBRef
private Company company;
private long time;
@TextIndexed
private String type;
...
}
@Data
@Document
@NoArgsConstructor
public class Client {
@TextIndexed
private String name;
@TextIndexed
private String lastName;
...
}
@Data
@Document
@NoArgsConstructor
public class Company {
@TextIndexed
private String name;
private String type;
...
}
所以我有 OrderRepository,我想在其中实现查询条件,但它不能按我的意愿工作。我的意思是我在 OrderRepository 中进行查询,它只检查所有 @TextIndexed 的顺序。我希望它不仅搜索订单,还搜索相关文档。简而言之,我只想从 OrderRepository 中搜索订单和相关文档。有可能吗?默认情况下,@DBRef 不允许这样做,我不想为每个文档搜索查询创建。例如,我有一个客户名称为 James 的订单。当我仅按名称“James”进行查询时,它应该搜索客户名称为 James 的所有订单。如何做到这一点?谢谢
【问题讨论】:
标签: spring mongodb spring-boot full-text-search spring-data-mongodb