RU2015156691A - Способ и система базы данных для нахождения документов - Google Patents

Способ и система базы данных для нахождения документов Download PDF

Info

Publication number
RU2015156691A
RU2015156691A RU2015156691A RU2015156691A RU2015156691A RU 2015156691 A RU2015156691 A RU 2015156691A RU 2015156691 A RU2015156691 A RU 2015156691A RU 2015156691 A RU2015156691 A RU 2015156691A RU 2015156691 A RU2015156691 A RU 2015156691A
Authority
RU
Russia
Prior art keywords
database
list
block
links
current block
Prior art date
Application number
RU2015156691A
Other languages
English (en)
Other versions
RU2679960C2 (ru
RU2015156691A3 (ru
Inventor
Петр Сергеевич Попов
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Publication of RU2015156691A publication Critical patent/RU2015156691A/ru
Publication of RU2015156691A3 publication Critical patent/RU2015156691A3/ru
Application granted granted Critical
Publication of RU2679960C2 publication Critical patent/RU2679960C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Claims (58)

1. Способ нахождения документов базы данных, которые содержат поисковые термины, включающий:
получение поискового термина в базу данных от клиента, поисковый термин связан со списком словопозиций, который был разделен на блоки, и каждый блок содержит заголовок и M усеченных ссылок; причем каждый блок является сжатым блоком посредством сжатия содержимого блока с использованием шаблона кодирования, определенного на основе значения M усеченных ссылок в каждом блоке;
считывание указателя из заголовка текущего блока списка словопозиций;
использование указателя для извлечения протокола декодирования из таблицы протоколов декодирования, причем протокол декодирования определяет шаблон кодирования для конкретного блока.
2. Способ по п. 1, в котором список словопозиций включает в себя одну или несколько ссылок базы данных на документы, которые содержат поисковый термин.
3. Способ по п. 1, в котором M является ненулевым положительным целым числом, кратным 8.
4. Способ по п. 1, в котором множество списков словопозиций, соответствует множеству поисковых терминов, множество списков словопозиций формирует инвертированный индекс базы данных.
5. Способ по п. 1, в котором считывание указателя из заголовка текущего блока списка словопозиций включает в себя, для первого блока, считывание начального заголовка списка словопозиций.
6. Способ по п. 1, в котором:
заголовок может содержать один или несколько байт;
заранее определенное значение первого байта заголовка указывает на наличие второго байта заголовка; и
два байта двухбайтного заголовка включают в себя заранее определенное значение и указатель.
7. Способ по п. 6, в котором заранее определенное значение включат в себя диапазон заранее определенных значений или флаг.
8. Способ по п. 1, в котором список словопозиций назначает монотонно возрастающие номера документов в базе данных.
9. Способ по п. 8, в котором:
первая ссылка базы данных в списке словопозиций представляет собой номер первого документа; и
следующая ссылка базы данных в списке словопозиций представляет собой дельта-ссылку на основе разницы между номером первого документа и номером следующего документа.
10. Способ по п. 9, в котором набор последовательных ссылок базы данных в списке словопозиций включает в себя набор дельта-ссылок.
11. Способ по п. 10, в котором данная дельта-ссылка равна номеру данного документа с вычетом номера предыдущего документа.
12. Способ по п. 10, в котором данная дельта-ссылка равна номеру данного документа с вычетом номера предыдущего документа минус один.
13. Способ по п. 1, в котором шаблон кодирования текущего блока включает в себя: базовую длину b, относящуюся к M усеченных ссылок в текущем блоке;
число n модификаций в текущем блоке;
если n>0, одно или несколько значений vk модификации текущего блока, причем k находится в пределах от 1 до n;
если n>0, одно или несколько позиций pk модификации в текущем блоке, в котором pk находится в пределах от 0 до М-1.
14. Способ по п. 13, в котором таблица протокола декодирования включает в себя таблицу дескрипторов, которая определяет b, n, р1…pn, v1…vn для множества шаблонов кодирования.
15. Способ по п. 13, в котором длина текущего блока определяется длиной заголовка и шаблоном кодирования.
16. Способ по п. 13, включающий в себя:
сжатие текущего блока путем:
считывания в текущем блоке, b⋅М бит, которые содержат M усеченных ссылок, причем М-n из M усеченных ссылок являются ссылками базы данных; и
если n>0, для каждой модификации от k=1 до n, определение расширенного значения модификации как vk⋅2b и добавление расширенного значения модификации к pk-той из M усеченных ссылок, пронумерованных от 0 до М-1 для предоставления η дополнительных ссылок базы данных.
17. Способ по п. 13, включающий в себя:
считывание следующего указателя из следующего заголовка следующего блока списка словопозиций; и
использование следующего заголовка для: извлечения следующего протокола декодирования; и распаковки следующего текущего блока;
причем полный список ссылок базы данных на документы из базы данных, которые содержат поисковый термин, получают путем считывания полного списка словопозиций.
18. Способ по п. 13, в котором протокол декодирования включает в себя кодовые инструкции для выполнения этапа распаковки текущего блока с помощью b, n, p1…pn, v1…vn.
19. Способ по п. 18, в котором отдельный набор кодовых инструкций определяется для каждого отдельного шаблона кодирования.
20. Способ по п. 18, в котором таблица протокола декодирования включает в себя кодовые инструкции.
21. Способ по п. 18, в котором таблица протокола декодирования включает в себя таблицу
ссылок на кодовые инструкции.
22. Способ по п. 18, включающий в себя:
определение 2 массивов, каждый массив включает в себя M полей данных равного размера;
ввод M усеченных ссылок в M полей данных первого массива;
заполнение M полей данных второго массива нулевыми значениями;
если n>0, для каждой модификации от k=1 до n, ввод n-го расширенного значения модификации в pk-ое поле данных второго массива, причем M полей данных второго массива пронумерованы от 0 до М-1;
добавление значений второго массива к значениям первого массива; и
считывание M ссылок базы данных из первого массива.
23. Способ по п. 22, в котором поля данных первого и второго массивов каждое содержит L байт.
24. Способ по п. 23, в котором данный блок, который обладает ссылкой базы данных больше 2L⋅8-1, обладает шаблоном кодирования, включающим в себя b>L⋅8 и n=0.
25. Система базы данных для нахождения документов, которые содержат поисковые термины, включающая:
базу данных для сохранения множества документов;
память, содержащую:
таблицу протоколов декодирования; и
инвертированный индекс, включающий множество списков словопозиций, причем каждый список словопозиций разделен на блоки, каждый из которых содержит заголовок и M усеченных ссылок; каждый блок является сжатым блоком посредством сжатия содержимого каждого блока с использованием шаблона кодирования, определенного для каждого блока на основе значения M усеченных ссылок в каждом блоке;
ввод для получения поискового термина от клиента; и
процессор, функционально соединенный с вводом, с базой данных и памятью, и выполненный с возможностью:
выбора в памяти списка словопозиций, связанного с поисковым термином;
считывания указателя из заголовка текущего блока списка словопозиций; и
использования указателя для извлечения протокола декодирования из таблицы протоколов декодирования, причем протокол декодирования определяет шаблон кодирования для текущего блока.
RU2015156691A 2013-10-10 2014-10-10 Способ и система базы данных для нахождения документов RU2679960C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
RU2013145298 2013-10-10
RU2013145298 2013-10-10
PCT/IB2014/065215 WO2015052690A1 (en) 2013-10-10 2014-10-10 Methods and systems for indexing references to documents of a database and for locating documents in the database

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2015156692A Division RU2633178C2 (ru) 2013-10-10 2015-12-29 Способ и система базы данных для индексирования ссылок на документы базы данных

Publications (3)

Publication Number Publication Date
RU2015156691A true RU2015156691A (ru) 2017-07-31
RU2015156691A3 RU2015156691A3 (ru) 2018-05-30
RU2679960C2 RU2679960C2 (ru) 2019-02-14

Family

ID=52812571

Family Applications (2)

Application Number Title Priority Date Filing Date
RU2015156691A RU2679960C2 (ru) 2013-10-10 2014-10-10 Способ и система базы данных для нахождения документов
RU2015156692A RU2633178C2 (ru) 2013-10-10 2015-12-29 Способ и система базы данных для индексирования ссылок на документы базы данных

Family Applications After (1)

Application Number Title Priority Date Filing Date
RU2015156692A RU2633178C2 (ru) 2013-10-10 2015-12-29 Способ и система базы данных для индексирования ссылок на документы базы данных

Country Status (4)

Country Link
US (3) US9471613B2 (ru)
EP (1) EP2979207A4 (ru)
RU (2) RU2679960C2 (ru)
WO (1) WO2015052690A1 (ru)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9876018B2 (en) 2015-12-03 2018-01-23 Micron Technology, Inc. Ferroelectric capacitor, ferroelectric field effect transistor, and method used in forming an electronic component comprising conductive material and ferroelectric material
JP6267252B2 (ja) * 2016-03-09 2018-01-24 ヤフー株式会社 検索装置、検索方法及び検索プログラム
JP6575688B2 (ja) * 2016-10-07 2019-09-18 富士通株式会社 インデックス付きデータ生成プログラム、インデックス付きデータ生成方法、インデックス付きデータ生成システム、検索プログラム、検索方法、および検索システム
US10599726B2 (en) * 2017-04-19 2020-03-24 A9.Com, Inc. Methods and systems for real-time updating of encoded search indexes
CN109992695B (zh) * 2019-04-10 2021-08-27 北京奇艺世纪科技有限公司 一种视频信息查询方法及装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953723A (en) * 1993-04-02 1999-09-14 T.M. Patents, L.P. System and method for compressing inverted index files in document search/retrieval system
US6249782B1 (en) * 1998-12-17 2001-06-19 Apple Computer, Inc. System and method for reducing file name length and for retrieving the reduced file name entitled files
CN1722292A (zh) * 1999-01-08 2006-01-18 皇家飞利浦电子股份有限公司 记录实时信息的方法和设备
US6834276B1 (en) * 1999-02-25 2004-12-21 Integrated Data Control, Inc. Database system and method for data acquisition and perusal
US6430565B1 (en) * 1999-06-22 2002-08-06 Microsoft Corporation Path compression for records of multidimensional database
US6847966B1 (en) * 2002-04-24 2005-01-25 Engenium Corporation Method and system for optimally searching a document database using a representative semantic space
RU2236699C1 (ru) * 2003-02-25 2004-09-20 Открытое акционерное общество "Телепортал. Ру" Способ поиска и выборки информации с повышенной релевантностью
US7801898B1 (en) * 2003-12-30 2010-09-21 Google Inc. Methods and systems for compressing indices
US7966424B2 (en) * 2004-03-15 2011-06-21 Microsoft Corporation Data compression
US7630319B1 (en) 2004-06-30 2009-12-08 Sprint Communications Company L.P. Method and system for decoding tokenized Session Initiated Protocol packets
US8176054B2 (en) * 2007-07-12 2012-05-08 Ricoh Co. Ltd Retrieving electronic documents by converting them to synthetic text
CN101167357B (zh) * 2005-04-26 2011-09-07 皇家飞利浦电子股份有限公司 用于处理具有分组序列和与分组有关的定时信息的数据流的设备和方法
US7630999B2 (en) * 2005-07-15 2009-12-08 Microsoft Corporation Intelligent container index and search
US8250075B2 (en) * 2006-12-22 2012-08-21 Palo Alto Research Center Incorporated System and method for generation of computer index files
US7917705B2 (en) * 2007-05-17 2011-03-29 International Business Machines Corporation Scalable performance-based volume allocation in large storage controller collections
NO327653B1 (no) * 2007-12-20 2009-09-07 Fast Search & Transfer As Fremgangsmate for dynamisk oppdatering av en indeks og en sokemotor som implementerer samme
US8166041B2 (en) * 2008-06-13 2012-04-24 Microsoft Corporation Search index format optimizations
US20100198829A1 (en) * 2009-01-30 2010-08-05 Elzinga D Blair Method and computer-program product for ranged indexing
US8645337B2 (en) * 2009-04-30 2014-02-04 Oracle International Corporation Storing compression units in relational tables
CN102893281A (zh) * 2010-05-14 2013-01-23 日本电气株式会社 信息搜索设备、信息搜索方法、计算机程序和数据结构
US8996531B1 (en) * 2010-09-12 2015-03-31 Giovanni M Sacco Inverted index and inverted list process for storing and retrieving information
US9529908B2 (en) * 2010-11-22 2016-12-27 Microsoft Technology Licensing, Llc Tiering of posting lists in search engine index
US9195675B2 (en) * 2011-02-24 2015-11-24 A9.Com, Inc. Decoding of variable-length data with group formats
US8610605B2 (en) * 2011-06-17 2013-12-17 Sap Ag Method and system for data compression

Also Published As

Publication number Publication date
RU2015156692A (ru) 2017-07-04
US20150356169A1 (en) 2015-12-10
US9471613B2 (en) 2016-10-18
EP2979207A4 (en) 2016-11-09
RU2679960C2 (ru) 2019-02-14
US10169388B2 (en) 2019-01-01
EP2979207A1 (en) 2016-02-03
US20160063046A1 (en) 2016-03-03
US20160070734A1 (en) 2016-03-10
RU2633178C2 (ru) 2017-10-11
US9824109B2 (en) 2017-11-21
WO2015052690A1 (en) 2015-04-16
RU2015156691A3 (ru) 2018-05-30

Similar Documents

Publication Publication Date Title
RU2015156691A (ru) Способ и система базы данных для нахождения документов
CN110121577B (zh) 编码/解码基因组序列数据的方法、基因组编码器/解码器
Deorowicz et al. Robust relative compression of genomes with random access
Chikhi et al. On the representation of de Bruijn graphs
Maciuca et al. A natural encoding of genetic variation in a Burrows-Wheeler transform to enable mapping and genome inference
JP2020500383A5 (ru)
JP2019537172A5 (ru)
US10547324B2 (en) Data compression coding method, apparatus therefor, and program therefor
CN105677686B (zh) 一种道路编码方法及装置
RU2010150819A (ru) Оптимизация формата поискового индекса
JP2011523152A5 (ru)
EP2611036A2 (en) Compression of small strings
CN102799590B (zh) 嵌入式电子产品字库、字库生成方法及字库查找方法
KR20190113969A (ko) 게놈 서열 리드의 효율적인 압축 방법 및 시스템
EP3136607A1 (en) A method and a system for encoding and decoding of suffix tree and searching within encoded suffix tree
KR101770477B1 (ko) 입력 블럭의 스캔과 동시에 정렬된 심볼 리스트를 유지하는 하드웨어 데이터 압축기
JP7362481B2 (ja) ゲノムシーケンスデータをコード化する方法、コード化されたゲノムデータをデコード化する方法、ゲノムシーケンスデータをコード化するためのゲノムエンコーダ、ゲノムデータをデコードするためのゲノムデコーダ、及びコンピュータ読み取り可能な記録媒体
RU2019101654A (ru) Устройство обработки изображений и способ кодирования дескриптора изображения на основе гистограмм градиентов
Zinoviev et al. Steiner triple systems S (2 m− 1, 3, 2) of rank 2 m− m+ 1 over
Grabowski et al. Engineering relative compression of genomes
US8976048B2 (en) Efficient processing of Huffman encoded data
CN104008136A (zh) 一种文本查找的方法和装置
US20210281276A1 (en) Encoded block format
CN107026652B (zh) 基于分区的正整数序列压缩方法
Biswas et al. Succinct indexes for reporting discriminating and generic words