【发布时间】:2016-05-01 17:42:38
【问题描述】:
我需要您的建议,以便在索引多个字段的文档中搜索多个关键字。
假设我有一个实体 Employee,如下所示,并且我在此文档中索引了多个字段。
@Entity("employee")
@Indexes({@Index(fields = @Field(value = "employeeName", type = IndexType.TEXT)),
@Index(fields = @Field(value = "employeeDept", type = IndexType.TEXT)),})
public class Employee {
@Id private ObjectId id;
private long empId;
private String employeeName;
private String employeeDept;
..... Many other fields!!!!
所以我想在本文档中进行多关键字搜索 ( $in ).. 并获取结果列表。我正在使用 Morphia 框架,需要您使用相同的建议
现在我正在使用最新的 Morphia(1.+) 和 MongoDB(3.+)。在 morphia 中,我只能在特定字段而不是整个文档上进行多关键字搜索( $in )。
datastore.find(Employee.class).field("employeeName").in(Arrays.asList("name1","name2")).limit(BATCH_SIZE).asList();
但是假设我有一个搜索查询来查找 employeeName deptName .. 如果任何关键字匹配我想在我的搜索结果中返回该文档。
我该怎么做?
更新
我没有在整个文档上使用 search(),因为,我将每个单词视为单独的搜索条件。
【问题讨论】:
标签: mongodb full-text-search morphia database