MongoDB 模糊查询效率太差,如何提速?
阿神
阿神 2017-04-24 09:09:39
0
3
754

在70W的数据中,执行 'name': /Mamacitas / 需要17.358767秒才完成
数据内容例:

{
  "Attitude_low": NumberInt(0),
  "Comments": "i",
  "file": [
    "mamacitas-7-scene3.avi",
    "mamacitas-7-scene4.avi",
    "mamacitas-7-scene5.avi",
    "mamacitas-7-scene2.avi",
    "mamacitas-7-scene1.avi",
    "14968frontbig.jpg",
    "[000397].gif",
    "mamacitas-7-bonus-scene1.avi",
    "14968backbig.jpg"
  ],
  "Announce": "http://exodus.desync.com/announce",
  "View": NumberInt(0),
  "Hash": "9E3842903C56E8BBC0C7AF7A0A8636590491923C",
  "name": "Mamacitas 7[SILVERDUST]",
  "Encoding": "!",
  "EntryTime": 1403169286.9712,
  "Attitude_top": NumberInt(0),
  "CreatedBy": "ruTorrent (PHP Class - Adrien Gibrat)",
  "CreationDate": NumberInt(1365851919)
}

关于索引部分:

请问我该如何提高匹配速度?

阿神
阿神

闭关修行中......

Antworte allen(3)
刘奇

hash 类型的索引在用模糊查询时是用不上的,的确要依赖搜索引擎类的东西专门建分词后的索引

一个是可以采用elastic search之类的东西,专门搭一个

也可以考虑采用一个分词的库把你的字段分好词,然后再用mongodb的专门弄个分词的collection,可以用mongodb的默认索引机制

Peter_Zhu

可以尝试下 MongoDB Text Indexes,看起来你只是要匹配某个完整单词,跟这种索引的应用场景是一样的。

PHPzhong

可以用Lucence/Sphinx结合MongoDb做搜索查询,Mongodb查询效率确实比较低

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage