Все выпуски
- 2024 Том 34
- 2023 Том 33
- 2022 Том 32
- 2021 Том 31
- 2020 Том 30
- 2019 Том 29
- 2018 Том 28
- 2017 Том 27
- 2016 Том 26
- 2015 Том 25
- 2014
- 2013
- 2012
- 2011
- 2010
- 2009
- 2008
Эффективный алгоритм для создания полнотекстовых индексов с трехкомпонентными ключами
Рассматривается задача полнотекстового поиска с учетом близости в больших текстовых массивах. Пользователь вводит несколько слов в качестве поискового запроса. В результате поиска формируется список документов, содержащих заданные слова. В современных поисковых системах, документы, в которых слова поискового запроса встречаются вблизи, считаются более релевантными. Рассматриваемая задача требует сохранения в индексе информации о каждом вхождении каждого слова в индексируемых текстах. Скорость выполнения поискового запроса зависит от числа вхождений слов запроса в текстах. Следовательно, запросы, включающие часто встречающиеся слова, выполняются существенно медленнее, чем запросы, состоящие из обычных слов. Для каждого слова текста сохраняем в индексах информацию о часто встречающихся словах, которые располагаются в тексте рядом с ним, на расстоянии не более $MaxDistance$. Данный параметр может принимать значения 5, 7 и даже больше. Применение индексов с трехкомпонентными ключами позволяет добиться быстрого выполнения поисковых запросов. Результаты экспериментов поиска, представленные автором ранее, показывают, что среднее время поискового запроса, состоящего из очень часто встречающихся слов, при применении индексов с трехкомпонентными ключами, меньше в 94.7 раза, чем среднее время поиска с использованием обычных инвертированных индексов. В текущей работе рассмотрен новый алгоритм создания индекса с трехкомпонентными ключами. Доказана корректность алгоритма. Представлены результаты экспериментов построения индексов для разных значений параметра $MaxDistance$.
An efficient algorithm for three-component key index construction
Proximity full-text searches in large text arrays are considered. A search query consists of several words. The search result is a list of documents containing these words. In a modern search system, documents that contain search query words that are near each other are more relevant than other documents. To solve this task, for each word in each indexed document, we need to store a record in the index. In this case, the query search time is proportional to the number of occurrences of the queried words in the indexed documents. Consequently, it is common for search systems to evaluate queries that contain frequently occurring words much more slowly than queries that contain less frequently occurring, ordinary words. For each word in the text, we use additional indexes to store information about nearby words at distances from the given word of less than or equal to $MaxDistance$, which is a parameter. This parameter can take a value of 5, 7, or even more. Three-component key indexes can be created for faster query execution. Previously, we presented the results of experiments showing that, when queries contain very frequently occurring words, the average time of the query execution with three-component key indexes is 94.7 times less than that required when using ordinary inverted indexes. In the current work, we describe a new three-component key index building algorithm. We prove the correctness of the algorithm. We present the results of experiments of the index creation depending on the value of $MaxDistance$.
Журнал индексируется в Web of Science (Emerging Sources Citation Index)
Журнал входит в базы данных zbMATH, MathSciNet
Журнал включен в базу данных Russian Science Citation Index (RSCI) на платформе Web of Science
Журнал входит в систему Российского индекса научного цитирования.
Журнал включен в перечень ВАК.
Электронная версия журнала на Общероссийском математическом портале Math-Net.Ru.