当前位置: 首页 > 知识库问答 >
问题:

如何对spring data mongodb中的所有字段进行索引?

公沈义
2023-03-14

比如说我有一个叫候选人的集合。我想在此集合中的所有字段上创建一个文本索引。在mongo,我知道我可以这样做

db.candidates.createIndex({"$**":"text"},{name:"TextIndex"}) 

这是我的java pojo或实体。

@Document(collection = "candidates")
public class Candidate {

    @Id
    private String id;
    private String firstName;
    private String lastName;

   // Other stuff: removed for brevity
}

现在如何在java中执行db.candidates.create索引({"$**":"text"},{name:"TextIndex"})?这就是如何索引整个pojo或如何索引集合中的所有字段?

这个问题试图做同样的事情,但没有完整的细节。

此外,我还研究了索引注释,但是,由于它只能应用于字段,如何使用它来索引整个集合?

共有1个答案

夹谷腾
2023-03-14

使用@TextIndexed,您至少可以为要包含在索引中的所有字段编制索引。https://docs.spring.io/spring-data/mongodb/docs/current/api/org/springframework/data/mongodb/core/index/TextIndexed.html

或者,您可以为此使用mongo模板。如何在具有Spring-Data-MongoDB的实体中设置@TextIndex名称

 类似资料:
  • 我需要在身份验证后从LDAP中检索各种值,如描述、办公室等。 我已经能够完成身份验证,但无法检索其他值。 我应该使用什么名称来检索完整的数据?? 请帮助。 我的代码如下:

  • 基本问题如下:有没有一种方便的方法可以为嵌套查询的所有字段指定多字段匹配?对于普通查询有效。这在嵌套查询中不起作用,可能是因为嵌套对象没有_all? 下面是更详细的问题: 我有一个名为“Parent”的嵌套文档,如下所示: 这是我用于制作儿童嵌套对象的映射: 这是一个查询,我想使用所有子字段的匹配来选择几个术语查询,以及一个术语查询: 上述查询不起作用,因为我无法为嵌套对象选择多匹配查询中的所有字

  • 问题内容: 我想在我存储在Elasticsearch 7.3中的文档中搜索单词 我想要在以前版本的Elasticsearch上工作的示例是: 但是此查询不适用于Elasticsearch 7+,因为已删除。现在该字段消失了,我该如何编写查询以完成相同的任务? 注意:我已经阅读了将所有字段复制到自定义字段中的建议,但是这要求显式地写出每个字段以包括在all_fields字段中。由于我有很多小字段,因

  • 我想根据数字字段对搜索结果进行排序。在下面的示例代码中,我希望基于'Age'字段进行排序。我从以下答案开始: [如何在Lucene 6中对IntPont或LongPoint字段进行排序 [在Lucene中根据数字字段对搜索结果进行排序 我在搜索函数中将sortfield.type.score更改为sortfield.type.long。但我得到: 意外的docvalues为字段“年龄”键入NONE