Latest web development tutorials
×

MongoDB курс

MongoDB курс NoSQL Краткое введение MongoDB Краткое введение Window устанавливать MongoDB Linux устанавливать MongoDB MongoDB Интерпретация Концепции MongoDB подключение MongoDB Создание базы данных MongoDB Удалить базу данных MongoDB Вставить документ MongoDB Обновление документации MongoDB Удаление документов MongoDB документ Запрос MongoDB Условный оператор MongoDB $type операторы MongoDB Limit & Skip MongoDB последовательность MongoDB индекс MongoDB агрегирование MongoDB копия MongoDB Ломтики MongoDB Резервное копирование и восстановление MongoDB монитор MongoDB Java MongoDB PHP распространение MongoDB PHP MongoDB PHP7

MongoDB Расширенный учебник

MongoDB отношения MongoDB ссылки на базы данных MongoDB Индекс покрытия запроса MongoDB анализ запросов MongoDB атомарные операции MongoDB Расширенный индексации MongoDB ограничения индекса MongoDB ObjectId MongoDB Map Reduce MongoDB Полнотекстовый поиск MongoDB Регулярные выражения MongoDB Инструменты управления MongoDB GridFS MongoDB Фиксированный набор MongoDB Автоматический рост

MongoDB полнотекстового поиска

Создание индекса полнотекстового поиска для каждого слова, с указанием количества и расположения слова появляется в статье, когда запрос пользователя, программа поиска будет установлен заранее, чтобы найти индекс, и результаты поиска вернуться к способу поиска пользователя.

Этот процесс похож на искомое слово в слово процессе извлечения словаря таблицы.

MongoDB версии 2.4 с самого начала для поддержки полнотекстового поиска, в настоящее время поддерживает 15 языков (временно не поддерживает китайский) полнотекстовый индекс.

  • датский язык
  • нидерландский
  • английский
  • финский язык
  • французский
  • немецкий
  • венгерский
  • итальянский
  • норвежец
  • португальский
  • румын
  • русский
  • испанский
  • шведский язык
  • турецкий

Включить полнотекстовый поиск

После того, как MongoDB версии 2.6 включена по умолчанию полнотекстового поиска, если вы используете предыдущую версию, вам необходимо использовать следующий код, чтобы включить полнотекстового поиска:

>db.adminCommand({setParameter:true,textSearchEnabled:true})

Или используйте команду:

mongod --setParameter textSearchEnabled=true

Создание полнотекстового индекса

Рассмотрим следующие наборы данных сообщений документов, в том числе содержание статьи (post_text) и меток (тегов):

{
   "post_text": "enjoy the mongodb articles on w3cschool.cc",
   "tags": [
      "mongodb",
      "w3cschool"
   ]
}

Мы можем построить полнотекстовый индекс post_text поля, так что мы можем найти содержание статьи:

>db.posts.ensureIndex({post_text:"text"})

Использование полнотекстового индексирования

Теперь, когда мы установили полнотекстовый индекс post_text, мы можем осуществить поиск по ключевым словам в статье w3cschool.cc:

>db.posts.find({$text:{$search:"w3cschool.cc"}})

Следующая команда возвращает данные документа, содержащиеся w3cschool.cc следующих ключевых слов:

{ 
   "_id" : ObjectId("53493d14d852429c10000002"), 
   "post_text" : "enjoy the mongodb articles on w3cschool.cc", 
   "tags" : [ "mongodb", "w3cschool" ]
}
{
   "_id" : ObjectId("53493d1fd852429c10000003"), 
   "post_text" : "writing tutorials on w3cschool.cc",
   "tags" : [ "mongodb", "tutorial" ] 
}

Если вы используете старую версию MongoDB, вы можете использовать следующую команду:

>db.posts.runCommand("text",{search:" w3cschool.cc"})

Использование полнотекстового индексирования может повысить эффективность поиска.


Удалить полнотекстового индексирования

Удалите существующий полнотекстовый индекс, вы можете использовать команду поиска, чтобы найти имя индекса:

>db.posts.getIndexes()

Получить имя индекса выше команды, в этом случае индекс имени post_text_text, выполните следующую команду, чтобы удалить индекс:

>db.posts.dropIndex("post_text_text")