在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)
}
关于索引部分:
请问我该如何提高匹配速度?
hash 类型的索引在用模糊查询时是用不上的,的确要依赖搜索引擎类的东西专门建分词后的索引
一个是可以采用elastic search之类的东西,专门搭一个
也可以考虑采用一个分词的库把你的字段分好词,然后再用mongodb的专门弄个分词的collection,可以用mongodb的默认索引机制
可以尝试下 MongoDB Text Indexes,看起来你只是要匹配某个完整单词,跟这种索引的应用场景是一样的。
可以用Lucence/Sphinx结合MongoDb做搜索查询,Mongodb查询效率确实比较低