Интернет магазин китайских планшетных компьютеров



Компьютеры - GiST

29 мая 2011





GiST является прямым индексом, используемым полнотекстовым поиском СУБД PostgreSQL. Это означает, что для каждого вектора tsvector, описывающего все лексемы документа, создаётся сигнатура, описывающая какие из лексем входят в данный tsvector. Принцип работы схож с битовыми индексами, однако есть и различия.

Продемонстрируем на примере: пусть лексеме w1 сопоставлена сигнатура 001000, лексеме w2 — 000010. Тогда документу, содержащему только лексемы w1 и w2 будет сопоставлена сигнатура 001010. В отличие от битовых индексов, отображение лексем в сигнатуры не однозначно. То есть возможно существование лексемы w3 с сигнатурой 001000. Это позволяет значительно экономить размер индекса, но требует вторичной проверки на полное совпадение лексем запроса и документа.

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



Просмотров: 420


<<< IMS (СУБД)