nosql database as a search

45
NoSQL Database as a Search Dmitriy Kalugin-Balashov

Upload: rvncerr

Post on 15-Apr-2017

64 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: NoSQL Database as a Search

NoSQL Database as a SearchDmitriy Kalugin-Balashov

Page 2: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

Page 3: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

Doc[3]

Doc[2]

Doc[1]

Page 4: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

TZ[1] TZ[2] TZ[3]

Page 5: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 6: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 7: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 8: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 9: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

Doc[3]

Doc[2]

TZ[1] Word[1]

TZ[3]

Page 10: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

Doc[3]:TZ[3]

Doc[2]:TZ[1]

Word[1]

Page 11: NoSQL Database as a Search

Что такое «полнотекстовый поиск»?

{ Doc[2]:TZ[1], Doc[3]:TZ[3] }

Word[1]

Page 12: NoSQL Database as a Search

Случай первый – У нас есть HASH

Word[1]

Word[2]

Word[3]

Word[4]

Word[5]

Page 13: NoSQL Database as a Search

Случай первый – У нас есть HASH

Word[1]

Word[2]

Word[3]

Word[4]

Word[5]

Page 14: NoSQL Database as a Search

Случай первый – У нас есть HASH

Word[4]

Word[2]

Word[1]

Word[5]

Word[3]

Page 15: NoSQL Database as a Search

Случай первый – У нас есть HASH

Word[4] { DocID : TZ }

Word[2] { DocID : TZ }

Word[1] { DocID : TZ }

Word[5] { DocID : TZ }

Word[3] { DocID : TZ }

Page 16: NoSQL Database as a Search

Случай первый – У нас есть HASH

Word[4] { DocID : TZ }

Word[2] { DocID : TZ }

Word[1] { DocID : TZ }

Word[5] { DocID : TZ }

Word[3] { DocID : TZ }

Page 17: NoSQL Database as a Search

Случай второй – У нас есть TREE

Word[1]

Word[2]

Word[3]

Word[4]

Word[5]

Page 18: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 19: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 20: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 21: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 22: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

TZ[1]

TZ[2]

Word[1]

TZ[3]

Page 23: NoSQL Database as a Search

Случай второй – У нас есть TREE

Word[1], Doc[2]

Word[1], Doc[3]

Page 24: NoSQL Database as a Search

Случай второй – У нас есть TREE

Word[1], Doc[2] { TZ[1], TZ[2] }

Word[1], Doc[3] { TZ[3] }

Page 25: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 26: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 27: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[2]

TZ[1]

Word[2]

Page 28: NoSQL Database as a Search

Случай второй – У нас есть TREE

Word[1], Doc[2] { TZ[1], TZ[2] }

Word[1], Doc[3] { TZ[3] }

Word[2], Doc[2] { TZ[1] }

Page 29: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 30: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

Doc[1] TZ[1]

TZ[2]

TZ[3]

Word[1]

Word[2]

Word[3]

TZ[1] TZ[2] TZ[3]

Page 31: NoSQL Database as a Search

Вернемся назад на мгновение…

Doc[3]

Doc[2]

TZ[1]

Word[3]

TZ[3]

Page 32: NoSQL Database as a Search

Случай второй – У нас есть 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] }

Page 33: NoSQL Database as a Search

Случай второй – У нас есть 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] }

Page 34: NoSQL Database as a Search

Случай второй – У нас есть 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

Page 35: NoSQL Database as a Search

Случай второй – У нас есть 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

Page 36: NoSQL Database as a Search

Случай второй – У нас есть TREE

(1, 2, 3)

(1, 3, 4)

(2, 2, 1)

(3, 2, 1)

(3, 3, 4)

Page 37: NoSQL Database as a Search

Случай второй – У нас есть TREE

(1, 2, 3)

(1, 3, 4)

(2, 2, 1)

(3, 2, 1)

(3, 3, 4)

Page 38: NoSQL Database as a Search

Случай второй – У нас есть TREE

(1, 2, 3)

(1, 3, 4)

(2, 2, 1)

(3, 2, 1)

(3, 3, 4)

(1, 0, …)

Page 39: NoSQL Database as a Search

Случай второй – У нас есть TREE

(1, 2, 3)

(1, 3, 4)

(2, 2, 1)

(3, 2, 1)

(3, 3, 4)

(1, 2, …)

Page 40: NoSQL Database as a Search

Случай второй – У нас есть TREE

(1, 2, 3)

(1, 3, 4)

(2, 2, 1)

(3, 2, 1)

(3, 3, 4)

(1, 3, …)

Page 41: NoSQL Database as a Search

Случай второй – У нас есть TREE

(1, 2, 3)

(1, 3, 4)

(2, 2, 1)

(3, 2, 1)

(3, 3, 4)

(2, 2, …)

Page 42: NoSQL Database as a Search

Случай второй – У нас есть TREE

(1, 2, 3)

(1, 3, 4)

(2, 2, 1)

(3, 2, 1)

(3, 3, 4)

(2, 2, …)

Page 43: NoSQL Database as a Search

Случай второй – У нас есть TREE

(1, 2, 3)

(1, 3, 4)

(2, 2, 1)

(3, 2, 1)

(3, 3, 4)

(2, 2, …)

Page 44: NoSQL Database as a Search

Случай второй – У нас есть TREE

(1, 2, 3)

(1, 3, 4)

(2, 2, 1)

(3, 2, 1)

(3, 3, 4)

(2, 2, …)

Результат поиска: [2:3, 3:4]

Page 45: NoSQL Database as a Search

[email protected] Kalugin-Balashov

Head of Development Group @ Mail.Ru Group