recherche

Maison  >  Questions et réponses  >  le corps du texte

MongoDB 模糊查询效率太差,如何提速?

在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)
}

关于索引部分:

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

阿神阿神2764 Il y a quelques jours749

répondre à tous(3)je répondrai

  • 怪我咯

    怪我咯2017-04-24 09:11:39

    Les index de type hachage ne sont pas utiles lors de l'utilisation de requêtes floues. Vous devez vraiment vous fier aux moteurs de recherche pour créer spécifiquement des index après la segmentation des mots

    La première consiste à utiliser quelque chose comme la recherche élastique et à en créer une dédiée

    Vous pouvez également envisager d'utiliser une bibliothèque de segmentation de mots pour segmenter vos champs en mots, puis utiliser mongodb pour créer une collection de segmentations de mots. Vous pouvez utiliser le mécanisme d'indexation par défaut de mongodb

    .

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-24 09:11:39

    Vous pouvez essayer les index de texte MongoDB. Il semble que vous souhaitiez simplement faire correspondre un mot complet, ce qui est le même que le scénario d'application de ce type d'index.

    répondre
    0
  • PHPz

    PHPz2017-04-24 09:11:39

    Vous pouvez utiliser Lucence/Sphinx combiné avec MongoDb pour effectuer des requêtes de recherche. L'efficacité des requêtes Mongodb est en effet relativement faible

    .

    répondre
    0
  • Annulerrépondre