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.
NoSQL Database as a
Search
Dmitriy Kalugin-Balashov
Что такое «полнотекстовый поиск»?
Что такое «полнотекстовый поиск»?
Doc[3]
Doc[2]
Doc[1]
Что такое «полнотекстовый поиск»?
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
TZ[1] TZ[2] TZ[3]
Что такое «полнотекстовый поиск»?
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Что такое «полнотекстовый поиск»?
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Что такое «полнотекстовый поиск»?
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Что такое «полнотекстовый поиск»?
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Что такое «полнотекстовый поиск»?
Doc[3]
Doc[2]
TZ[1] Word[1]
TZ[3]
Что такое «полнотекстовый поиск»?
Doc[3]:TZ[3]
Doc[2]:TZ[1]
Word[1]
Что такое «полнотекстовый поиск»?
{ Doc[2]:TZ[1], Doc[3]:TZ[3] }
Word[1]
Случай первый – У нас есть HASH
Word[1]
Word[2]
Word[3]
Word[4]
Word[5]
Случай первый – У нас есть HASH
Word[1]
Word[2]
Word[3]
Word[4]
Word[5]
Случай первый – У нас есть HASH
Word[4]
Word[2]
Word[1]
Word[5]
Word[3]
Случай первый – У нас есть HASH
Word[4] { DocID : TZ }
Word[2] { DocID : TZ }
Word[1] { DocID : TZ }
Word[5] { DocID : TZ ...
Случай первый – У нас есть HASH
Word[4] { DocID : TZ }
Word[2] { DocID : TZ }
Word[1] { DocID : TZ }
Word[5] { DocID : TZ ...
Случай второй – У нас есть TREE
Word[1]
Word[2]
Word[3]
Word[4]
Word[5]
Вернемся назад на мгновение…
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Вернемся назад на мгновение…
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Вернемся назад на мгновение…
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Вернемся назад на мгновение…
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Вернемся назад на мгновение…
Doc[3]
Doc[2]
TZ[1]
TZ[2]
Word[1]
TZ[3]
Случай второй – У нас есть TREE
Word[1], Doc[2]
Word[1], Doc[3]
Случай второй – У нас есть TREE
Word[1], Doc[2] { TZ[1], TZ[2] }
Word[1], Doc[3] { TZ[3] }
Вернемся назад на мгновение…
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Вернемся назад на мгновение…
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Вернемся назад на мгновение…
Doc[2]
TZ[1]
Word[2]
Случай второй – У нас есть TREE
Word[1], Doc[2] { TZ[1], TZ[2] }
Word[1], Doc[3] { TZ[3] }
Word[2], Doc[2] { TZ[1] }
Вернемся назад на мгновение…
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Вернемся назад на мгновение…
Doc[3]
Doc[2]
Doc[1] TZ[1]
TZ[2]
TZ[3]
Word[1]
Word[2]
Word[3]
TZ[1] TZ[2] TZ[3]
Вернемся назад на мгновение…
Doc[3]
Doc[2]
TZ[1]
Word[3]
TZ[3]
Случай второй – У нас есть TREE
Word[1], Doc[2] { TZ[1], TZ[2] }
Word[1], Doc[3] { TZ[3] }
Word[2], Doc[2] { TZ[1] }
Word[...
Случай второй – У нас есть TREE
Word[1], Doc[2] { TZ[1], TZ[2] }
Word[1], Doc[3] { TZ[3] }
Word[2], Doc[2] { TZ[1] }
Word[...
Случай второй – У нас есть TREE
Word[1], Doc[2] 00000011
Word[1], Doc[3] 00000100
Word[2], Doc[2] 00000001
Word[3], Doc[2]...
Случай второй – У нас есть TREE
Word[1], Doc[2] 3
Word[1], Doc[3] 4
Word[2], Doc[2] 1
Word[3], Doc[2] 1
Word[3], Doc[3] 4
Случай второй – У нас есть TREE
(1, 2, 3)
(1, 3, 4)
(2, 2, 1)
(3, 2, 1)
(3, 3, 4)
Случай второй – У нас есть TREE
(1, 2, 3)
(1, 3, 4)
(2, 2, 1)
(3, 2, 1)
(3, 3, 4)
Случай второй – У нас есть TREE
(1, 2, 3)
(1, 3, 4)
(2, 2, 1)
(3, 2, 1)
(3, 3, 4)
(1, 0, …)
Случай второй – У нас есть TREE
(1, 2, 3)
(1, 3, 4)
(2, 2, 1)
(3, 2, 1)
(3, 3, 4)
(1, 2, …)
Случай второй – У нас есть TREE
(1, 2, 3)
(1, 3, 4)
(2, 2, 1)
(3, 2, 1)
(3, 3, 4)
(1, 3, …)
Случай второй – У нас есть TREE
(1, 2, 3)
(1, 3, 4)
(2, 2, 1)
(3, 2, 1)
(3, 3, 4)
(2, 2, …)
Случай второй – У нас есть TREE
(1, 2, 3)
(1, 3, 4)
(2, 2, 1)
(3, 2, 1)
(3, 3, 4)
(2, 2, …)
Случай второй – У нас есть TREE
(1, 2, 3)
(1, 3, 4)
(2, 2, 1)
(3, 2, 1)
(3, 3, 4)
(2, 2, …)
Случай второй – У нас есть TREE
(1, 2, 3)
(1, 3, 4)
(2, 2, 1)
(3, 2, 1)
(3, 3, 4)
(2, 2, …)
Результат поиска: [2:3, 3:4]
rvncerr@rvncerr.org
Dmitriy Kalugin-Balashov
Head of Development Group @ Mail.Ru Group
Upcoming SlideShare
Loading in …5
×

0

Share

Download to read offline

NoSQL Database as a Search

Download to read offline

Highload++ 2016 Lighttalk by Dmitriy Kalugin-Balashov

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

NoSQL Database as a Search

  1. 1. NoSQL Database as a Search Dmitriy Kalugin-Balashov
  2. 2. Что такое «полнотекстовый поиск»?
  3. 3. Что такое «полнотекстовый поиск»? Doc[3] Doc[2] Doc[1]
  4. 4. Что такое «полнотекстовый поиск»? Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] TZ[1] TZ[2] TZ[3]
  5. 5. Что такое «полнотекстовый поиск»? Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  6. 6. Что такое «полнотекстовый поиск»? Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  7. 7. Что такое «полнотекстовый поиск»? Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  8. 8. Что такое «полнотекстовый поиск»? Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  9. 9. Что такое «полнотекстовый поиск»? Doc[3] Doc[2] TZ[1] Word[1] TZ[3]
  10. 10. Что такое «полнотекстовый поиск»? Doc[3]:TZ[3] Doc[2]:TZ[1] Word[1]
  11. 11. Что такое «полнотекстовый поиск»? { Doc[2]:TZ[1], Doc[3]:TZ[3] } Word[1]
  12. 12. Случай первый – У нас есть HASH Word[1] Word[2] Word[3] Word[4] Word[5]
  13. 13. Случай первый – У нас есть HASH Word[1] Word[2] Word[3] Word[4] Word[5]
  14. 14. Случай первый – У нас есть HASH Word[4] Word[2] Word[1] Word[5] Word[3]
  15. 15. Случай первый – У нас есть HASH Word[4] { DocID : TZ } Word[2] { DocID : TZ } Word[1] { DocID : TZ } Word[5] { DocID : TZ } Word[3] { DocID : TZ }
  16. 16. Случай первый – У нас есть HASH Word[4] { DocID : TZ } Word[2] { DocID : TZ } Word[1] { DocID : TZ } Word[5] { DocID : TZ } Word[3] { DocID : TZ }
  17. 17. Случай второй – У нас есть TREE Word[1] Word[2] Word[3] Word[4] Word[5]
  18. 18. Вернемся назад на мгновение… Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  19. 19. Вернемся назад на мгновение… Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  20. 20. Вернемся назад на мгновение… Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  21. 21. Вернемся назад на мгновение… Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  22. 22. Вернемся назад на мгновение… Doc[3] Doc[2] TZ[1] TZ[2] Word[1] TZ[3]
  23. 23. Случай второй – У нас есть TREE Word[1], Doc[2] Word[1], Doc[3]
  24. 24. Случай второй – У нас есть TREE Word[1], Doc[2] { TZ[1], TZ[2] } Word[1], Doc[3] { TZ[3] }
  25. 25. Вернемся назад на мгновение… Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  26. 26. Вернемся назад на мгновение… Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  27. 27. Вернемся назад на мгновение… Doc[2] TZ[1] Word[2]
  28. 28. Случай второй – У нас есть TREE Word[1], Doc[2] { TZ[1], TZ[2] } Word[1], Doc[3] { TZ[3] } Word[2], Doc[2] { TZ[1] }
  29. 29. Вернемся назад на мгновение… Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  30. 30. Вернемся назад на мгновение… Doc[3] Doc[2] Doc[1] TZ[1] TZ[2] TZ[3] Word[1] Word[2] Word[3] TZ[1] TZ[2] TZ[3]
  31. 31. Вернемся назад на мгновение… Doc[3] Doc[2] TZ[1] Word[3] TZ[3]
  32. 32. Случай второй – У нас есть TREE Word[1], Doc[2] { TZ[1], TZ[2] } Word[1], Doc[3] { TZ[3] } Word[2], Doc[2] { TZ[1] } Word[3], Doc[2] { TZ[1] } Word[3], Doc[3] { TZ[3] }
  33. 33. Случай второй – У нас есть TREE Word[1], Doc[2] { TZ[1], TZ[2] } Word[1], Doc[3] { TZ[3] } Word[2], Doc[2] { TZ[1] } Word[3], Doc[2] { TZ[1] } Word[3], Doc[3] { TZ[3] }
  34. 34. Случай второй – У нас есть TREE Word[1], Doc[2] 00000011 Word[1], Doc[3] 00000100 Word[2], Doc[2] 00000001 Word[3], Doc[2] 00000001 Word[3], Doc[3] 00000100
  35. 35. Случай второй – У нас есть TREE Word[1], Doc[2] 3 Word[1], Doc[3] 4 Word[2], Doc[2] 1 Word[3], Doc[2] 1 Word[3], Doc[3] 4
  36. 36. Случай второй – У нас есть TREE (1, 2, 3) (1, 3, 4) (2, 2, 1) (3, 2, 1) (3, 3, 4)
  37. 37. Случай второй – У нас есть TREE (1, 2, 3) (1, 3, 4) (2, 2, 1) (3, 2, 1) (3, 3, 4)
  38. 38. Случай второй – У нас есть TREE (1, 2, 3) (1, 3, 4) (2, 2, 1) (3, 2, 1) (3, 3, 4) (1, 0, …)
  39. 39. Случай второй – У нас есть TREE (1, 2, 3) (1, 3, 4) (2, 2, 1) (3, 2, 1) (3, 3, 4) (1, 2, …)
  40. 40. Случай второй – У нас есть TREE (1, 2, 3) (1, 3, 4) (2, 2, 1) (3, 2, 1) (3, 3, 4) (1, 3, …)
  41. 41. Случай второй – У нас есть TREE (1, 2, 3) (1, 3, 4) (2, 2, 1) (3, 2, 1) (3, 3, 4) (2, 2, …)
  42. 42. Случай второй – У нас есть TREE (1, 2, 3) (1, 3, 4) (2, 2, 1) (3, 2, 1) (3, 3, 4) (2, 2, …)
  43. 43. Случай второй – У нас есть TREE (1, 2, 3) (1, 3, 4) (2, 2, 1) (3, 2, 1) (3, 3, 4) (2, 2, …)
  44. 44. Случай второй – У нас есть TREE (1, 2, 3) (1, 3, 4) (2, 2, 1) (3, 2, 1) (3, 3, 4) (2, 2, …) Результат поиска: [2:3, 3:4]
  45. 45. rvncerr@rvncerr.org Dmitriy Kalugin-Balashov Head of Development Group @ Mail.Ru Group

Highload++ 2016 Lighttalk by Dmitriy Kalugin-Balashov

Views

Total views

93

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

2

Shares

0

Comments

0

Likes

0

×