MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB:Tidak peka huruf besar kecil dan tidak peka aksen

saya sarankan Anda membuat indeks teks dengan bahasa default diatur ke "none" untuk membuatnya tidak sensitif terhadap diakritik dan kemudian melakukan pencarian $text sebagai berikut:

db.Project.createIndex(
    {
        "WORKER": "text",
        "TRABAJADOR": "text"
    },
    {
        "background": false,
        "default_language": "none"
    }
)
db.Project.find({
    "$text": {
        "$search": "jesus",
        "$caseSensitive": false
    }
})

inilah kode c# yang menghasilkan kueri di atas. saya menggunakan perpustakaan saya MongoDB.Entities untuk singkatnya.

using MongoDB.Entities;
using System;
using System.Linq;

namespace StackOverflow
{
    public class Program
    {
        public class Project : Entity
        {
            public string WORKER { get; set; }
            public string TRABAJADOR { get; set; }
        }

        private static void Main(string[] args)
        {
            new DB("test");

            DB.Index<Project>()
              .Key(p => p.WORKER, KeyType.Text)
              .Key(p => p.TRABAJADOR, KeyType.Text)
              .Option(o => o.DefaultLanguage = "none")
              .Option(o => o.Background = false)
              .Create();

            (new[] {
                new Project { WORKER = "JESUS HERNANDEZ DIAZ"},
                new Project { TRABAJADOR = "JESÚS HERNÁNDEZ DÍAZ"}
            }).Save();

            var result = DB.SearchText<Project>("jesus");

            Console.WriteLine($"found: {result.Count()}");
            Console.Read();
        }
    }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kasus untuk Indeks Hash MongoDB

  2. Pilih data di mana rentang antara dua bidang yang berbeda berisi nomor tertentu

  3. Pengantar Server Percona untuk MongoDB 4.2

  4. perintah mongo tidak dikenali saat mencoba terhubung ke server mongodb

  5. Istirahat data starter boot musim semi, batasan @Notnull tidak berfungsi