MongoDB FULLTEXT搜索电子邮件

时间:2013-09-30 17:59:32

标签: mongodb full-text-search

假设我在集合中有以下字段 FNAME, L-NAME, 联系数据

样品:

  1. fname = Dmitry
  2. lname = Semenov
  3. contactData = 9491001120 9492006839 dmitry@domain.com dima@domain.com
  4. 是否可以在此类集合上实现FULLTEXT搜索,例如我可以找到 德米特里& dima@domain.com?

1 个答案:

答案 0 :(得分:2)

基本上是的。

  1. Enable text search为您的mongodb实例:mongod --setParameter textSearchEnabled=true
  2. Create a fulltext index用于the fields you want to search,例如 db.emails.ensureIndex( { fname: "text", lname: "text", contactData: "text" } )
  3. perform a text search查找相关文档,例如db.emails.runCommand("text", { search: "Dmitry", language: "none" });
  4. 由于您要为名称和电子邮件地址编制索引,因此将language设置为none可能会有所帮助,否则将使用词干和停止词语。

    使用搜索:“Dmitry dmitry@domain.com”会在任何字段中查找Dmitry或dmitry@domain.com的文档,我认为目前没有办法使用AND。