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

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

Info

Publication number
RU2018140528A
RU2018140528A RU2018140528A RU2018140528A RU2018140528A RU 2018140528 A RU2018140528 A RU 2018140528A RU 2018140528 A RU2018140528 A RU 2018140528A RU 2018140528 A RU2018140528 A RU 2018140528A RU 2018140528 A RU2018140528 A RU 2018140528A
Authority
RU
Russia
Prior art keywords
documents
subset
size
parts
update
Prior art date
Application number
RU2018140528A
Other languages
English (en)
Other versions
RU2733482C2 (ru
RU2018140528A3 (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 Общество С Ограниченной Ответственностью "Яндекс"
Priority to RU2018140528A priority Critical patent/RU2733482C2/ru
Priority to US16/505,110 priority patent/US10891340B2/en
Publication of RU2018140528A publication Critical patent/RU2018140528A/ru
Publication of RU2018140528A3 publication Critical patent/RU2018140528A3/ru
Application granted granted Critical
Publication of RU2733482C2 publication Critical patent/RU2733482C2/ru

Links

Classifications

    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Claims (82)

1. Исполняемый на компьютере способ динамического обновления поискового индекса сервера, причем поисковый индекс разделен на множество частей, каждая из которых включает в себя соответствующую долю из множества документов, причем способ выполняется на сервере и включает в себя:
получение сервером запроса на обновление набора документов в поисковом индексе, причем запрос на обновление набора документов включает в себя удаление первого подмножества документов;
вычисление сервером, для каждой части из набора из множества частей, где каждая часть включает в себя по меньшей мере один документ из первого подмножества документов:
соответствующего обновленного активного размера соответствующего набора активных документов из соответствующей доли из множества документов в данной части, причем соответствующий набор активных документов не включает в себя по меньшей мере один документ из первого подмножества документов, предназначенных для удаления,
соответствующего обновленного общего размера соответствующей доли из множества документов в данной части, причем соответствующая доля из множества документов не включает в себя по меньшей мере один документ из первого подмножества документов, предназначенных для удаления, и
соответствующего соотношения соответствующего обновленного активного размера к соответствующему обновленному общему размеру;
создание копии сервером, на основе соответствующего отношения, подмножества частей из набора частей для получения подмножества частей-кандидатов;
обновление сервером по меньшей мере части из набора документов в наборе частей-кандидатов;
замещение сервером подмножества частей подмножеством частей-кандидатов.
2. Способ по п. 1, в котором запрос на обновление набора документов в поисковом индексе далее включает в себя: добавление второго подмножества документов ко множеству документов во множестве частей.
3. Способ по п. 2, в котором обновление по меньшей мере доли набора документов в подмножестве частей включает в себя: удаление сервером из подмножества частей-кандидатов первого подмножества документов на удаление; и распределение сервером второго подмножества документов в подмножестве частей-кандидатов.
4. Способ по п. 3, в котором способ дополнительно включает в себя, до этапа распределения второго подмножества документов в подмножестве частей-кандидатов: добавление сервером оставшихся документов в подмножестве частей-кандидатов во второе подмножество документов.
5. Способ по п. 4, в котором подмножество частей-кандидатов включает в себя заранее определенное количество частей, обладающих соответствующим наименьшим соотношением.
6. Способ по п. 5, в котором каждый соответствующий документ из множества документов поискового индекса обладает соответствующим размером; местоположением в соответствующей части; и идентификатором соответствующей части.
7. Способ по п. 6, в котором распределение второго подмножества документов в подмножестве частей-кандидатов включает в себя, для данного документа во втором подмножестве документов: обновление сервером идентификатора соответствующей данному документу части; и обновление сервером местоположения данного документа в соответствующей части.
8. Способ по п. 7, в котором набор документов для обновления связан с размером обновления; и размер обновления меньше заранее определенного порогового размера обновления.
9. Способ по п. 8, в котором каждая данная часть из множества частей включает в себя:
соответствующий набор активных документов обладающий соответствующим активным размером;
соответствующий набор неактивных документов обладающий соответствующим неактивным размером; и
соответствующую долю из множества документов обладающую соответствующим общим размером.
10. Способ по п. 9, в котором способ дополнительно включает в себя, до этапа вычисления:
определение сервером того, находится ли размер обновления выше заранее определенного порогового размера обновления; и
в ответ на то, что размер обновления выше заранее определенного порогового размера обновления:
разделение сервером набора документов для обновления на по меньшей мере два подмножества документов таким образом, что каждое из по меньшей мере двух подмножеств находится ниже заранее определенного порогового размера изменения; и
выполнение сервером вычисления, создания копии и обновления для каждого из по меньшей мере двух подмножеств.
11. Способ по п. 10, в котором вычисление, создание копии и обновление выполняются оффлайн.
12. Способ по п. 10, в котором
сервер является сервером поисковой системы; и
каждый соответствующий набор неактивных документов во множестве частей поискового индекса включает в себя по меньшей мере одно из:
документы, с которыми не было пользовательских взаимодействий в ответ на любой запрос в течение заранее определенного периода времени, и
документы, которые не были представлены в ответ на любой запрос в течение заранее определенного периода времени
13. Способ по п. 10, в котором
сервер соединен с устройством хранения, включающим первую долю и вторую долю;
поисковый индекс хранится в первой доле;
подмножество частей-кандидатов хранится во второй доле; и
ограничение по размеру первой доли ниже ограничения по размеру второй доли.
14. Система для динамического обновления поискового индекса, причем поисковый индекс разделен на множество частей, каждая из которых включает в себя соответствующую долю из множества документов, причем система включает в себя:
процессор;
постоянный машиночитаемый носитель компьютерной информации, содержащий инструкции;
процессор, при выполнении инструкций, настраиваемый на возможность осуществить:
получение запроса на обновление набора документов в поисковом индексе, причем запрос на обновление набора документов включает в себя удаление первого подмножества документов;
вычисление, для каждой части из набора из множества частей, где каждая часть включает в себя по меньшей мере один документ из первого подмножества документов:
соответствующего обновленного активного размера соответствующего набора активных документов из соответствующей доли из множества документов в данной части, причем соответствующий набор активных документов не включает в себя по меньшей мере один документ из первого подмножества документов, предназначенных для удаления,
соответствующего обновленного общего размера соответствующей доли из множества документов в данной части, причем соответствующая доля из множества документов не включает в себя по меньшей мере один документ из первого подмножества документов, предназначенных для удаления, и
соответствующего соотношения соответствующего обновленного активного размера к соответствующему обновленному общему размеру;
создание копии, на основе соответствующего отношения, подмножества частей из набора частей для получения подмножества частей-кандидатов;
обновление по меньшей мере доли из набора документов в наборе частей-кандидатов;
замещение подмножества частей подмножеством частей-кандидатов.
15. Система по п. 14, в которой запрос на обновление набора документов в поисковом индексе далее включает в себя: добавление второго подмножества документов ко множеству документов во множестве частей.
16. Система по п. 15, в которой для обновления по меньшей мере доли набора документов в подмножестве частей, процессор выполнен с возможностью осуществлять
удаление из подмножества частей-кандидатов первого подмножества документов на удаление; и
распределение второго подмножества документов в подмножестве частей-кандидатов.
17. Система по п. 16, в которой процессор выполнен с дополнительной возможностью осуществлять, до этапа распределения второго подмножества документов в подмножестве частей-кандидатов: добавление оставшихся документов в подмножестве частей-кандидатов во второе подмножество документов.
18. Система по п. 17, в которой подмножество частей-кандидатов включает в себя заранее определенное количество частей, обладающих соответствующим наименьшим соотношением.
19. Система по п. 18, в которой каждый соответствующий документ из множества документов поискового индекса обладает
соответствующим размером;
местоположением в соответствующей части; и
идентификатором соответствующей части.
20. Система по п. 19, в которой для распределения второго подмножества документов в подмножестве частей-кандидатов процессор выполнен с дополнительной возможностью осуществлять, для данного документа во втором подмножестве документов:
обновление идентификатора соответствующей данному документу части; и обновление местоположения данного документа в соответствующей части.
21. Система по п. 20, в которой:
набор документов для обновления связан с размером обновления; и
размер обновления меньше заранее определенного порогового размера обновления.
22. Система по п. 21, в которой каждая данная часть из множества частей включает в себя:
соответствующий набор активных документов обладающий соответствующим активным размером;
соответствующий набор неактивных документов обладающий соответствующим неактивным размером; и
соответствующую долю из множества документов обладающую соответствующим общим размером.
23. Система по п. 22, в которой система далее выполнена с возможностью, до этапа вычисления:
определение того, находится ли размер обновления выше заранее определенного порогового размера обновления; и
в ответ на то, что размер обновления выше заранее определенного порогового размера обновления:
разделение набора документов для обновления на по меньшей мере два подмножества документов таким образом, что каждое из по меньшей мере двух подмножеств находится ниже заранее определенного порогового размера изменения; и
выполнение вычисления, создания копии и обновления для каждого из по меньшей мере двух подмножеств.
24. Система по п. 23, в которой вычисление, создание и обновление выполняются оффлайн.
25. Система по п. 22, в которой
каждый соответствующий набор неактивных документов во множестве частей поискового индекса включает в себя по меньшей мере одно из:
документы, с которыми не было пользовательских взаимодействий в ответ на любой запрос в течение заранее определенного периода времени, и
документы, которые не были представлены в ответ на любой запрос в течение заранее определенного периода времени
26. Система по п. 22, в которой
система соединена с устройством хранения, включающим первую долю и вторую долю;
поисковый индекс хранится в первой доле;
подмножество частей-кандидатов хранится во второй доле; и
ограничение по размеру первой доли ниже ограничения по размеру второй доли.
RU2018140528A 2018-11-16 2018-11-16 Способ и система для обновления базы данных поискового индекса RU2733482C2 (ru)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2018140528A RU2733482C2 (ru) 2018-11-16 2018-11-16 Способ и система для обновления базы данных поискового индекса
US16/505,110 US10891340B2 (en) 2018-11-16 2019-07-08 Method of and system for updating search index database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018140528A RU2733482C2 (ru) 2018-11-16 2018-11-16 Способ и система для обновления базы данных поискового индекса

Publications (3)

Publication Number Publication Date
RU2018140528A true RU2018140528A (ru) 2020-05-18
RU2018140528A3 RU2018140528A3 (ru) 2020-05-25
RU2733482C2 RU2733482C2 (ru) 2020-10-01

Family

ID=70727665

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018140528A RU2733482C2 (ru) 2018-11-16 2018-11-16 Способ и система для обновления базы данных поискового индекса

Country Status (2)

Country Link
US (1) US10891340B2 (ru)
RU (1) RU2733482C2 (ru)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3660699A1 (en) * 2018-11-29 2020-06-03 Tata Consultancy Services Limited Method and system to extract domain concepts to create domain dictionaries and ontologies
CN111611492A (zh) * 2020-05-26 2020-09-01 北京字节跳动网络技术有限公司 一种触发搜索的方法、装置、电子设备及存储介质
US11861320B1 (en) * 2023-02-27 2024-01-02 Casetext, Inc. Text reduction and analysis interface to a text generation modeling system
US11995411B1 (en) 2023-02-28 2024-05-28 Casetext, Inc. Large language model artificial intelligence text evaluation system
US11972223B1 (en) 2023-06-30 2024-04-30 Casetext, Inc. Query evaluation in natural language processing systems

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003001720A2 (en) 2001-06-21 2003-01-03 Isc, Inc. Database indexing method and apparatus
JP2003141136A (ja) 2001-11-07 2003-05-16 Toko Seiki Co Ltd ドキュメント検索用インデックスの更新方法
US20030101183A1 (en) 2001-11-26 2003-05-29 Navin Kabra Information retrieval index allowing updating while in use
GB2386712A (en) 2002-03-20 2003-09-24 Magus Res Ltd Selective updating of an index of webpages by a search engine
US8131691B1 (en) 2002-12-30 2012-03-06 Symantec Operating Corporation System and method for updating a search engine index based on which files are identified in a file change log
US7136851B2 (en) * 2004-05-14 2006-11-14 Microsoft Corporation Method and system for indexing and searching databases
US7702614B1 (en) * 2007-03-30 2010-04-20 Google Inc. Index updating using segment swapping
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
US20090193406A1 (en) * 2008-01-29 2009-07-30 James Charles Williams Bulk Search Index Updates
US8224841B2 (en) 2008-05-28 2012-07-17 Microsoft Corporation Dynamic update of a web index
US8001462B1 (en) 2009-01-30 2011-08-16 Google Inc. Updating search engine document index based on calculated age of changed portions in a document
CN102023991A (zh) 2009-09-21 2011-04-20 中兴通讯股份有限公司 在终端上更新索引并基于其对搜索结果排序的方法及装置
US8655886B1 (en) 2011-03-25 2014-02-18 Google Inc. Selective indexing of content portions
US8909615B2 (en) 2011-08-30 2014-12-09 Open Text S.A. System and method of managing capacity of search index partitions
US9430543B2 (en) * 2013-03-15 2016-08-30 Wal-Mart Stores, Inc. Incrementally updating a large key-value store
CN103198108B (zh) 2013-03-27 2016-08-10 新浪网技术(中国)有限公司 一种索引数据更新方法、检索服务器及***
US9501661B2 (en) * 2014-06-10 2016-11-22 Salesforce.Com, Inc. Systems and methods for implementing an encrypted search index
US9665605B2 (en) 2014-09-09 2017-05-30 Kcura Llc Methods and apparatus for building a search index for a database
US10417190B1 (en) * 2014-09-25 2019-09-17 Amazon Technologies, Inc. Log-structured file system for zone block devices with small zones
US10296650B2 (en) 2015-09-03 2019-05-21 Oracle International Corporation Methods and systems for updating a search index
US9442970B1 (en) * 2016-01-07 2016-09-13 International Business Machines Corporation System and method for asynchronous update of a search index
US11042444B2 (en) * 2018-01-19 2021-06-22 Rubrik. Inc. Cloud instantiation using out-of-order incrementals

Also Published As

Publication number Publication date
US20200159783A1 (en) 2020-05-21
RU2733482C2 (ru) 2020-10-01
RU2018140528A3 (ru) 2020-05-25
US10891340B2 (en) 2021-01-12

Similar Documents

Publication Publication Date Title
RU2018140528A (ru) Способ и система для обновления базы данных поискового индекса
US10552378B2 (en) Dividing a dataset into sub-datasets having a subset of values of an attribute of the dataset
US9454548B1 (en) Pluggable storage system for distributed file systems
CN102110121B (zh) 一种数据处理方法及其***
US11263212B1 (en) Dynamic partition selection
US8620924B2 (en) Refreshing a full-text search index in a partitioned database
CN107491523B (zh) 存储数据对象的方法及装置
US8719237B2 (en) Method and apparatus for deleting duplicate data
US8527556B2 (en) Systems and methods to update a content store associated with a search index
US10795872B2 (en) Incremental bloom filter rebuild for B+ trees under multi-version concurrency control
US20150363404A1 (en) Minimizing index maintenance costs for database storage regions using hybrid zone maps and indices
US20080228783A1 (en) Data Partitioning Systems
CN106682215B (zh) 一种数据处理方法和管理节点
KR101740271B1 (ko) 온라인 상에서 실시간으로 업데이트되는 대규모 오디오 핑거프린트 데이터베이스의 구축 방법 및 장치
US11269954B2 (en) Data searching method of database, apparatus and computer program for the same
CN104572785B (zh) 一种分布式创建索引的方法和装置
US20150269154A1 (en) Similarity and ranking of databases based on database metadata
US11715030B2 (en) Automatic object optimization to accelerate machine learning training
US11151111B2 (en) Redistributing table data in a database cluster
JP6157004B2 (ja) 仮想データベースシステム管理装置、管理方法及び管理プログラム
JP6008947B2 (ja) データベースの管理方法、データベースシステム、及び、プログラム
US10162841B1 (en) Data management platform
US10614055B2 (en) Method and system for tree management of trees under multi-version concurrency control
KR20120074817A (ko) 저장 장치의 중복 제거 성능 향상을 위한 맵핑 관리 시스템 및 방법
Bose et al. Fast local searches and updates in bounded universes