Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Поиск текста в MongoDB 2.4

743 views

Published on

Обзор возможностей поиск текста в MongoDB 2.4. Для Krasnodar MongoDB User Group

Published in: Education
  • Be the first to comment

  • Be the first to like this

Поиск текста в MongoDB 2.4

  1. 1. Поиск текста в MongoDB 2.4
  2. 2. Пока betamongod --setParameter textSearchEnabled=true
  3. 3. Индексирование в реальномвремени
  4. 4. Не зависит от регистра
  5. 5. Определение корней слов,выделение слов из текста иотбрасывание не существенныхслов для 15 языков
  6. 6. 15 Языков!danishdutchenglishfinnishfrenchgermanhungarianitaliannorwegianportugueseromanianrussianspanishswedishturkish
  7. 7. Стемминг (выделение корней){ walk, walked, walking, walks } walk⇒{magazine, magazines, magazine’s } magazine⇒{runs, running, run, ran } { run, ran }⇒
  8. 8. db.collection.ensureIndex({subject: "text",content: "text"})
  9. 9. Индексируем все текстовые поля, называем индекс TextIndexdb.collection.ensureIndex({ "$**": "text" },{ name: "TextIndex" })
  10. 10. Имя стоит указывать, так как имя по умолчанию может бытьслишком длинным.
  11. 11. Указываем язык:db.collection.ensureIndex({ content : "text" },{ default_language: "spanish" })
  12. 12. Документ может содержать название языка:{ _id: 1, language: "portuguese", quote: "A sorte protege os audazes" }{ _id: 2, language: "spanish", quote: "Nada hay más surreal que la realidad." }{ _id: 3, language: "english", quote: "is this a dagger which I see before me" }db.quotes.runCommand( "text", { search: "que", language: "spanish" } )(поле можно выбрать)
  13. 13. Можно указать вес для отдельных полей:db.blog.ensureIndex({ content: "text",keywords: "text",about: "text"},{ weights: {content: 10,keywords: 5,},name: "TextIndex"})
  14. 14. http://www.meetup.com/Krasnodar-MongoDB-User-GroupГлеб Лебедевgleb@gleblebedev.com

×