MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB пълнотекстово търсене

Тъй като не намерих много помощ при търсене със заместващи символи/търсене в пълен текст с помощта на Mongo, измислих решение за моите изисквания.

foreach (var doc in batch)
  {
     if (custDictionary.ContainsKey(projectId))
        {
           string concatenatedCustomFields = custFieldsList.Aggregate(string.Empty,
                            (current, custField) =>
                                current +
                                (ds.Tables[0].Columns.Contains(custField)
                                    ? (ds.Tables[0].Rows[i][custField].GetType().Name == typeof(DBNull).Name
                                        ? string.Empty
                                        : ((string) ds.Tables[0].Rows[i][custField]).StripHtml())
                                    : string.Empty));

                        doc.Add("CustomFieldsConcatenated", concatenatedCustomFields);
        }
    i++;
 }

Прочитам списък с персонализирани полета за всяка група документи, след което създавам свързано Mongo поле, след което използвам Regex заявка за това поле.

След това за подобряване на производителността на заявката е добавен следният индекс

  _mongoConnect.Database?.GetCollection<BsonDocument>("MyCollectionName")
                .Indexes.CreateOneAsync(new BsonDocument("CustomFieldsConcatenated", "hashed"), new CreateIndexOptions { Name = "CollectionName_FieldName_Index" });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Премахване на дубликати от база данни MongoDB 4.2

  2. mongodb php - как да направите заявка, подобна на INNER JOIN

  3. Неуспешна заявка за диапазон от дати за MongoDB база данни с туитове

  4. Агрегиране на MongoDb за филтриране на списък въз основа на идентификатори, присъстващи в обект на масив от всички документи от същата колекция

  5. mongodb TTL не работи