Предпосылки изобретения
Необходимой частью практически каждого компьютера является файловая система, используемая для хранения компьютерных программ и соответствующих данных. Последние достижения обеспечивают поиск в файловых системах, позволяя пользователям легко находить любой файл. В случае файлов данных пользователи могут осуществлять поиск не только на основании имени файла, но и на основании атрибутов файла (например, автора, даты создания) и даже содержания текста в файле (например, слов в документе, слов в электронной почте).
До некоторой степени возможности поиска были расширены за счет достижений в индексировании, которое представляет собой процесс каталогизации содержимого одной или нескольких файловых систем, что позволяет сократить время, необходимое для осуществления поиска. Такие индексы обычно связаны с поисковыми машинами в Интернете (например, MSN Search, Google), которые каталогизируют огромные объемы контента Всемирной паутины. Однако индексирование также пришло на настольный компьютер, расширив возможности поиска в локальных файловых системах.
При каталогизации содержимого компьютера поисковая программа индексирования может обнаруживать контейнеры файлов. Типы контейнеров файлов могут включать в себя сжатые и/или архивированные файлы (например, такие форматы файлов, как zip, cabinet (CAB), tape archive (TAR)) и другие собрания ассоциированных ссылок на файлы. Ссылки на файл могут действовать как файл-заполнители, которые только указывают на файл, находящийся где-то в локальной или удаленной файловой системе. Ссылки на файлы также могут указывать на элементы, отличные от файлов, например конкретное электронное письмо в файле, содержащем множественные электронные письма.
Когда служба индексирования индексирует конкретный файл и также индексирует ссылку на файл, указывающую на конкретный файл, служба индексирования может создавать множественные записи индекса для по существу одного и того же файла. В результате, один и тот же файл может появляться несколько раз в конкретном наборе результатов поиска, что неизбежно запутывает пользователя. Кроме того, если указуемый файл располагается в удаленной файловой системе, программа индексирования может не знать как каталогизировать ее содержимое, ошибочно препятствуя его включению в результаты поиска.
Другие проблемы могут возникать, когда программа индексирования обнаруживает контейнер файлов, например архивный файл. Программа индексирования может не иметь доступа к содержимому контейнера файлов, что исключает потенциально релевантные результаты из поиска. Но даже если контейнер файлов доступен, программа индексирования может быть не способной правильно индексировать файлы и ссылки на файлы, хранящиеся в контейнере файлов, что может приводить к обескураживающим или неполным результатам поиска.
Сущность изобретения
Аспекты относятся к индексированию компьютерных файлов и ссылок на файлы в контейнере файлов. Согласно другим аспектам создается интеллектуальная схема реализации протокола для доступа к контейнерам файлов и избирательного индексирования их содержимого во избежание дублирования отображения файлов в результатах поиска.
Описание чертежей
Аспекты настоящего изобретения проиллюстрированы в порядке примера, но не ограничения, в прилагаемых чертежах, снабженных сквозной системой обозначений, в которых:
фиг.1 - схема цифровой вычислительной среды общего назначения;
фиг.2 - иллюстративная часть локальной файловой системы;
фиг.3 - иллюстративный интерфейс для файла списка;
фиг.4 - иллюстративный интерфейс для архивного файла;
фиг.5 и 6 - иллюстративные результаты поиска; и
фиг.7 - блок-схема этапов иллюстративного способа индексирования контейнеров файлов.
Подробное описание
Аспекты предусматривают способы и системы интеллектуального индексирования и поиска содержимого файловой системы, включающие в себя индексирование контейнеров файлов и поиск в них (например, архивных файлов или файлов списка).
Заметим, что в нижеследующем описании можно устанавливать различные связи между элементами. Если не указано обратное, эти связи могут быть прямыми или косвенными, и это описание не призвано ограничиваться в этом отношении.
Обзор
Благодаря интеллектуальному индексированию содержимого контейнеров файлов можно избежать дублирующих, обескураживающих или неполных результатов поиска. Стандартные файлы, содержащиеся в архивах и/или сжатых файлов, можно индексировать обычным образом, тогда как ссылки на файлы, указывающие на локально хранящиеся файлы, можно индексировать только частично.
Вычислительная среда общего назначения
На фиг.1 показан пример подходящей среды вычислительной системы, в которой можно реализовать изобретение. Среда 100 вычислительной системы является лишь одним примером подходящей вычислительной среды и не призвана накладывать какие-либо ограничения на объем использования или функциональные возможности изобретения. Кроме того, вычислительную среду 100 не следует рассматривать как имеющую какую-либо зависимость или требование в отношении любого компонента, проиллюстрированного в иллюстративной рабочей среде 100 или их комбинации.
Изобретение применимо ко многим другим средам или конфигурациям вычислительных систем общего назначения или специального назначения. Примеры общеизвестных вычислительных систем, сред и/или конфигураций, пригодных для применения изобретения, включают в себя, но без ограничения, персональные компьютеры, компьютеры-серверы, карманные или портативные устройства, многопроцессорные системы, системы на основе микропроцессора, телевизионные приставки, программируемую бытовую электронику, сетевые ПК, миникомпьютеры, универсальные компьютеры, распределенные вычислительные среды, которые включают в себя любые из вышеперечисленных систем или устройств, и т.п.
Изобретение можно описать в общем контексте компьютерно-выполняемых команд, например, программных модулей, выполняемых компьютером. В общем случае программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Изобретение можно применять на практике в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, связанными друг с другом посредством сети передачи данных. В распределенной вычислительной среде программные модули размещаются как на локальных, так и на удаленных компьютерных носителях данных, включая запоминающие устройства.
Согласно фиг.1 иллюстративная система для реализации изобретения включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 включают в себя, но без ограничения, процессор 120, системную память 130 и системную шину 121, которая подключает различные компоненты системы, в том числе системную память, к процессору 120. Системная шина 121 может относиться к любому из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину с использованием различных шинных архитектур. В порядке примера, но не ограничения, такие архитектуры включают в себя шину «архитектуры промышленного стандарта» (ISA), шину «микроканальной архитектуры» (MCA), шину расширенной ISA (EISA), локальную шину «ассоциации по стандартизации видеоэлектроники» (VESA) и шину «взаимосоединения периферийных компонентов» (PCI), также именуемую шиной расширения.
Компьютер 110 обычно включает в себя различные компьютерно-считываемые среды. Компьютерно-считываемые среды могут представлять собой любые имеющиеся среды, к которым компьютер 110 может осуществлять доступ, и включают в себя энергозависимые и энергонезависимые среды, сменные и стационарные среды. В порядке примера, но не ограничения, компьютерно-считываемые среды могут содержать компьютерные носители данных и среды передачи данных. Компьютерные носители данных включают в себя энергозависимые и энергонезависимые, сменные и стационарные носители, реализованные с помощью любого метода или технологии для хранения информации, например компьютерно-считываемых команд, структур данных, программных модулей или других данных. Компьютерные носители данных включает в себя, но без ограничения, ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или память другой технологии, CD-ROM, цифровые универсальные диски (DVD) или другие оптические диски, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства или любой другой носитель, который можно использовать для хранения полезной информации, и к которому компьютер 110 может осуществлять доступ. Среды передачи данных обычно реализуют компьютерно-считываемые команды, структуры данных, программные модули или другие данные в сигнале, модулированном данными, например, несущей волне или другом транспортном механизме, и включают в себя любые среды доставки информации. Термин «сигнал, модулированный данными» означает сигнал, одна или несколько характеристик которого изменяется таким образом, чтобы кодировать информацию в сигнале. В порядке примера, но не ограничения, среды передачи данных включает в себя проводные среды, например проводную сеть или прямое проводное соединение, и беспроводные среды, например акустические, РЧ, инфракрасные и другие беспроводные среды. Комбинации любых вышеперечисленных сред также подлежат включению в понятие компьютерно-считываемых сред.
Системная память 130 включает в себя компьютерные носители данных в виде энергозависимой и/или энергонезависимой памяти, например постоянной памяти (ПЗУ) 131 и оперативной памяти (ОЗУ) 132. Базовая система ввода/вывода (BIOS) 133, содержащая основные процедуры, которые помогают переносить информацию между элементами компьютера 110, например при запуске, обычно хранятся в ПЗУ 131. ОЗУ 132 обычно содержит данные и/или программные модули, к которым процессор 120 может непосредственно обращаться, или которыми он в данный момент оперирует. В порядке примера, но не ограничения, на фиг.1 показаны операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Компьютер 110 также может включать в себя другие сменные/стационарные, энергозависимые/энергонезависимые компьютерные носители данных. Исключительно для примера на фиг.1 показаны привод 141 жесткого диска, который считывает с или записывает на стационарный энергонезависимый магнитный носитель, привод 151 магнитного диска, который считывает с или записывает на сменный энергонезависимый магнитный диск 152, и привод 155 оптического диска, который считывает с или записывает на сменный энергонезависимый оптический диск 156, например CD-ROM или другой оптический носитель. Другие сменные/стационарные, энергозависимые/энергонезависимые компьютерные носители данных, которые можно использовать в иллюстративной рабочей среде, включают в себя, но без ограничения, кассеты с магнитной лентой, карты флэш-памяти, цифровые универсальные диски, цифровую видеоленту, полупроводниковое ОЗУ, полупроводниковое ПЗУ и т.д. Привод 141 жесткого диска обычно подключен к системной шине 121 через интерфейс стационарной памяти, например интерфейс 140, и привод 151 магнитного диска и привод 155 оптического диска обычно подключены к системной шине 121 посредством интерфейса сменной памяти, например интерфейса 150.
Приводы и соответствующие компьютерные носители данных, рассмотренные выше и показанные на фиг.1, обеспечивают хранение компьютерно-считываемых команд, структур данных, программных модулей и других данных для компьютера 110. Например, на фиг.1 показано, что в приводе 141 жесткого диска хранятся операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Заметим, что эти компоненты могут совпадать с или отличаться от операционной системы 134, прикладных программ 135, других программных модулей 136 и программных данных 137. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 обозначены здесь другими позициями, чтобы подчеркнуть, что они являются, как минимум, разными копиями. Пользователь может вводить команды и информацию в компьютер 110 через устройства ввода, например клавиатуру 162 и указательное устройство 161, например мышь, шаровой манипулятор или сенсорную панель. Другие устройства ввода (не показаны) могут включать в себя джойстик, игровую панель, спутниковую антенну, сканер и т.п. Эти и другие устройства ввода часто подключены к процессору 120 через интерфейс 160 пользовательского ввода, который подключен к системной шине, но могут подключаться посредством других интерфейсов и шинных структур, например параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 191 или устройство отображения другого типа также подключен к системной шине 121 через интерфейс, например видеоинтерфейс 190. Помимо монитора 191, компьютеры также могут включать в себя другие периферийные устройства вывода, например громкоговорители 197 и принтер 196, которые могут подключаться через интерфейс 195 выходной периферии.
Компьютер 110 работает в сетевой среде с использованием логических соединений с одним или несколькими удаленными компьютерами, например удаленным компьютером 180. Удаленный компьютер 180 может представлять собой персональный компьютер, карманное устройство, сервер, маршрутизатор, сетевой ПК, равноправное устройство или другой общий сетевой узел и обычно включает в себя многие или все элементы, описанные выше применительно к компьютеру 110, хотя на фиг.1 показано только запоминающее устройство 181. Логические соединения, описанные на фиг.1, включают в себя локальную сеть (ЛС) 171 и глобальную сеть (ГС) 173, но также могут включать в себя другие сети. Такие сетевые среды обычно применяются в учреждениях, компьютерных сетях в масштабе предприятия, интрасетях и Интернете.
При использовании в сетевой среде ЛС компьютер 110 подключен к ЛС 171 через сетевой интерфейс или адаптер 170. При использовании в сетевой среде ГС компьютер 110 обычно включает в себя модем 172 или другое средство установления связи в ГС 173, например Интернет. Модем 172, который может быть внутренним или внешним, может быть подключен к системной шине 121 через сетевой интерфейс 170 или другой пригодный механизм. В сетевой среде программные модули, описанные применительно к компьютеру 110, или часть из них могут храниться в удаленном запоминающем устройстве. В порядке примера, но не ограничения, на фиг.1 показано, что удаленные прикладные программы 185 размещены на удаленном компьютере 181. Заметим, что показанные сетевые соединения являются иллюстративными и можно использовать другие средства установления линии связи между компьютерами.
Согласно некоторым аспектам блок 165 оцифровки данных пера и соответствующее перо или стило 166 обеспечены для цифрового захвата рукописного ввода. Блок 165 оцифровки данных пера может дополнительно использовать емкостные или резистивные технологии, предусматривающие активное стило или пассивное стило (например, палец или другое указательное устройство). Хотя показано прямое соединение между блоком 165 оцифровки данных пера и интерфейсом 160 пользовательского ввода, на практике, блок 165 оцифровки данных пера может быть подключен напрямую к процессору 110, параллельному порту или иному интерфейсу и системной шине 130 любыми средствами, в том числе беспроводными. Кроме того, перо 166 может иметь камеру, связанную с ним, и приемопередатчик для беспроводной передачи информации изображения, захватываемого камерой, на интерфейс, взаимодействующий с шиной 130. Кроме того, перо может иметь другие воспринимающие системы, помимо или вместо камеры, для определения штрихов электронных чернил, включающие в себя акселерометры, магнетометры и гироскопы.
Очевидно, что показанные сетевые соединения являются иллюстративными, и можно использовать другие средства установления линий связи между компьютерами. Предусмотрено наличие любых общеизвестных протоколов, например TCP/IP, Ethernet, FTP, HTTP и т.п., и система может действовать в конфигурации клиент-сервер, чтобы пользователь мог извлекать веб-страницы с интернет-сервера. Для отображения данных и манипулирования ими на веб-страницах можно использовать любой из различных традиционных веб-браузеров.
Индексирование и поиск
На фиг.2 показана иллюстративная часть локальной файловой системы 201 для компьютера 110. Файлы организованы в папки и подпапки, обеспечивая хорошо известную пользователю метафору интерфейса для организации содержимого файловой системы. Содержимое файловой системы 201 включает в себя файлы, которые можно искать, когда пользователь ищет конкретный элемент.
Возможно, самый медленный метод поиска файлов, хранящихся на компьютере 110, состоит в простом обходе всего содержимого всех файлов в поиске указанной строки поиска (например, “annual report”) во время запроса поиска. Возможно, потребуется несколько часов для обеспечения полного результата, что в лучшем случае было бы ненужной тратой времени. Для ускорения процесса многие программы поиска используют систему индексирования для обеспечения более быстрых результатов поиска. Индекс обычно представляет собой структуру данных, призванную значительно сократить время поиска. Алгоритм индексирования обходит содержимое файловой системы 201 до осуществления поиска и создает записи в структуре индекса для каждого элемента, с которым он встречается. При запросе поиска искомые элементы можно найти гораздо быстрее с использованием специализированной структуры данных.
Как минимум, программа поиска (и ее компонент индексирования) может искать только имена файлов. Например, пользователь может быть способен найти файл “BizDev.doc”, только вспомнив его имя или часть имени. Программы поиска могут дополнительно обеспечивать возможность поиска на основании других внутренних свойств или метаданных элемента (например, даты создания, даты изменения, автора). Согласно предыдущему примеру пользователь может быть способен найти “BizDev.doc”, вспомнив его автора или время последней редакции. Более передовые программы поиска могут дополнительно обеспечивать возможность поиска всего текста, связанного с файлом, включающего в себя внешние свойства, например комментарии и текстовый контент самого файла. Опять же, согласно предыдущему примеру, пользователь может быть способен найти “BizDev.doc”, вспомнив примечание, связанное с файлом (например, “Important Big Client document”) или вспомнив слово или фразу из самого файла (например, “business development guidelines”).
Файлы, хранящиеся в файловой системе 201, представляют различные уровни сложности в отношении индексирования и поиска. Как минимум, простые внутренние свойства, например имя файла и дата создания, доступны посредством прямых обращений (вызовов) к операционной системе. Однако внешние свойства и текстовый контент могут потребовать специализированного кода. Один метод доступа к информации в несопоставимых типах файла заключается в использовании разных специализированных кодов для разных типов файла. Например, в документе Microsoft Word® информация может храниться в определенном виде, для которого требуется код, специализированный для документов Word, тогда как для документа в формате Portable Document Format (PDF) от Adobe Acrobat® может требоваться совершенно другой метод доступа к его текстовому контенту и внешним свойствам. Такой специализированный код можно называть IFilter или интерфейс IFilter. Каждый из различных типов файла может иметь IFilter, который обеспечивает службам индексирования, программам поиска и другому программному обеспечению доступ к свойствам и текстовому контенту файла документа этого типа. Поэтому могут существовать IFilter для документов Microsoft Word®, документов Adobe Acrobat®, документов HTML, и т.д.
Контейнеры файлов могут включать в себя сжатые и/или архивные файлы, и могут содержать файлы и ссылки на файлы. Одной формой специализированного контейнера файлов является файл списка. Файл списка содержит собрание ссылок на файлы, каждая из которых указывает на другой файл. Статический список может включать в себя выбираемый пользователем список ссылок на файлы, тогда как динамический список может включать в себя автоматически обновляемый список ссылок на файлы. Динамические списки позволяют по запросу или автоматически добавлять или удалять ссылки на файлы, когда конечные файлы, к которым относятся ссылки, изменяют свои атрибуты или контент. Например, динамический список, содержащий ссылки на все файлы, созданные автором Джоном Доу, может автоматически обновляться, когда Джон Доу создает новый файл. Кроме того, статические списки, в частности, могут позволять применять дополнительные внешние атрибуты к содержащимся в них ссылкам на файлы. Эти атрибуты могут включать в себя примечания, специфические для каждой ссылки на файл в списке. Хотя в настоящее время это не так, другие контейнеры файлов (например, динамические списки, архивные файлы и т.д.) могут, в конце концов, допускать добавление внешних атрибутов, подлежащих применению к каждому(ой) файлу или ссылке на файл, который(ая) в них содержится.
Контейнеры файлов могут представлять дополнительный уровень сложности при осуществлении доступа к свойствам и текстовому контенту. На фиг.3 показан иллюстративный интерфейс 301 для файла “Big Client Docs.list” списка, и на фиг.4 показан иллюстративный интерфейс 401 для архивного файла “Archived files.zip.” Как показывает интерфейс 301 списка, файл списка может содержать ссылки на собрание файлов 302, собранное создателем списка. Помимо файлов 302 список также включает в себя внутренние свойства 303 - и внешние свойства 304. Внутренние свойства 303 это те свойства, которые встроены в файл, включая личность автора, значимые даты и т.д. Внешние свойства 304 включают в себя те, которые пользователь может непосредственно изменять, например, примечания, связанные с каждой из ссылок на файл, содержащейся в списке. Хотя это не показано в zip-интерфейсе 402, архивный файл может также включать в себя внутренние и внешние свойства. Показанный здесь архивный файл включает в себя собрание совместно заархивированных файлов 402. Архивные файлы 402 отличаются от списочных файлов 302 тем, что в архивном файле хранятся фактические файлы сами по себе, а списочные файлы это только ссылки, указывающие на фактические файлы, размещенные в другом месте.
IFilter для каждого типа контейнера файлов может обеспечивать доступ к внутренним и внешним свойствам каждого контейнера, по аналогии с другими типами файла. Такие IFilter могут дополнительно обеспечивать доступ к спискам файлов, хранящихся в каждом контейнере. Эта информация, к которой служба индексирования обращается с использованием соответствующего IFilter, может обеспечиваться как часть результата поиска. Например, файл “Big Client Docs.list” списка содержит, помимо прочего, ссылку на файл “foo.doc”. Поиск “foo.doc” может возвращать оригинальный файл “foo.doc” из локальной файловой системы, плюс поиск возвратит файл “Big Client Docs.list” списка, поскольку этот текст был проиндексирован с использованием IFilter списка.
Такие IFilter контейнера можно дополнять путем создания обработчиков (схем реализации) протокола. Обработчик протокола - это фрагмент программного обеспечения, используемый другим программным обеспечением, например службой индексирования, для доступа и чтения различных систем хранения, включающих в себя файловые системы, почтовые клиенты, программы календаря и т.д. Обработчики протокола позволяют другому программному обеспечению использовать иерархию данных системы хранения более низкого уровня и обрабатывать отдельные элементы в системе хранения как дискретные элементы. Создание обработчика протокола для контейнера файлов, например списка, позволяет осуществлять доступ к контейнеру, как если бы он был папкой, и возвращать путь через себя к отдельным элементам списка. Таким образом, служба индексирования, которая первоначально использует IFilter, чтобы просто получить список содержимого в списке, теперь может действительно осуществлять доступ к этому содержимому и детально его индексировать.
Обработчик протокола для контейнеров файлов может предоставлять контейнеру файлов возможность действовать как расширение пространства имен оболочки. Таким образом, файлы, содержащиеся в контейнере файлов, становятся элементами пространства имен, причем пространство имен является расширением структуры директорий, в которой найден контейнер.
Создание обработчика протокола для списка может приводить к созданию дублирующих индексных записей для одного и того же конечного файла, если обработчик протокола не имеет специального интеллекта, определяющего, какие атрибуты элементов списка нужно индексировать. Например, “Big Client Docs.list” ссылается на документ PowerPoint “product_research.ppt”. Документ находится в локальной файловой системе и потому уже проиндексирован службой индексирования. Если файл снова полностью проиндексировать как элемент списка, он повторно появится в любом списке результатов. Сгладить эту проблему позволяет специальный интеллект (развитые логические возможности) обработчика протокола, допускающий лишь ограниченное индексирование.
Этот специальный интеллект (развитые логические возможности) можно, в основном, свести к двум правилам: (1) если конечный файл, указанный в контейнере файлов, выходит за пределы объема индексирования службы индексирования (например, файл размещен на удаленной машине, которая в данный момент не проиндексирована), то все внутренние и внешние свойства, а также весь контент, индексируются; и (2) если конечный файл, указанный в контейнере файлов, находится в пределах объема службы индексирования (например, в локальной файловой системе), то индексируются только внешние свойства конечного файла, связанного со списком. Используя эти два правила, элементы, указанные в контейнере файлов, которые находятся вне объема индексирования, можно полностью индексировать и возвращать в поиск. Кроме того, дублирование результатов поиска устраняется за счет индексирования только внешних свойств локальных файлов.
На фиг.5 и 6 показано два иллюстративных результата поиска 502, 602 на основании поисков в файловой системе 201. Изображенные здесь результаты поиска представляют лишь один иллюстративный способ обеспечения результатов поиска. Изображение не призвано никоим образом ограничивать изобретение. Для каждого результата поиск был введен в поле поиска 501. Первый поиск, “must read”, ищет файлы и элементы, ранее проиндексированные службой индексирования. Некоторые из файлов 505, на которые ссылается список “Big Client Docs.list,” имеющие внешние примечания, включающие в себя фразу “must read”, перечислены в результатах поиска 502. Кроме того, некоторые из файлов 506, хранящихся в “Archived files.zip” включены в список, поскольку они содержат “must read” либо в своем имени файла, либо где-то еще в своем контенте.
«Результаты поиска» 602 ищет файлы, где внутреннее свойство “author” (автор) задано равным “John Doe”. Опять же, заметим, что синтаксис запроса поиска и схема расположения результатов носят исключительно иллюстративный характер. Поскольку автор является внутренним свойством файлов, указанных в списке “Big Client Docs.list”, на основании этого свойства индексируются только указуемые файлы, не находящиеся в локальной файловой системе. Поэтому удаленный файл Sales Database 606, автором которого предположительно является Джон Доу, показан как список 605. Файлы “foo.doc” и “BizDev.doc” 607 также представлены в результатах поиска не потому, что они указаны в списке, а потому, что фактические файлы были проиндексированы, и их автором является Джон Доу. Будучи локально указуемыми файлами, два файла 607 не появляются как результаты поиска в качестве элементов списка, поскольку они не были проиндексированы на основании своих внутренних свойств.
Таким образом, ни один файл не дублируется без необходимости в наборе результатов поиска. Аналогично, файлы, которые могут находиться вне нормального объема поиска, могут быть полностью включены в результаты поиска всего лишь по своей ссылке в списке или другом контейнере файлов.
На фиг.7 показана блок-схема последовательности этапов способа индексирования файлов, включая контейнеры файлов. Показанные этапы представляют один иллюстративный пример осуществления способа, но альтернативные способы могут соответствовать объему и сущности формулы изобретения. Этапы можно комбинировать и разделять, добавлять или удалять. Эти этапы может осуществлять любая программа поиска или служба индексирования на компьютере 110, или действующая удаленно в соответствии с этим.
На этапе 701 первый файл оценивается для индексирования на основании его типа файла. При необходимости для индексирования файла может быть выбран соответствующий IFilter. Например, если файл является документом Word, то для доступа к файлу может быть выбран код, образующий IFilter Word (или аналогичный код). Аналогично, если оцениваемый файл является файлом списка, то может быть выбран IFilter списка. На этапе принятия решения 702 производится определение, является ли интересующий файл ссылкой на файл или фактическим файлом. Если файл не является ссылкой, то на этапе 703 осуществляется доступ к файлу, и внешние свойства, внутренние свойства и контент при необходимости индексируются. Некоторые файлы (например, файлы программ, файлы изображений, другие чисто двоичные файлы) могут не иметь индексируемого контента и могут не иметь внешних свойств. Такие файлы можно просто индексировать по их внутренним свойствам и для доступа к ним может даже не понадобиться специальный код в форме IFilter. Для файлов с индексируемым контентом можно извлекать и оценивать их релевантный контент в целях индексирования и/или поиска.
Если файл является ссылкой на файл, то на этапе принятия решения 704 производится определение, находится ли файл, на который указывает ссылка, вне нормального объема индексирования. Если да, то на этапе 703 файл полностью индексируется. Если же ссылка указывает на локальный файл в объеме индексирования, то на этапе 705 индексируются только внешние свойства ссылки на файл (если таковые существуют). Таким образом, ссылка будет появляться в результатах поиска, только когда его внешние свойства отвечают поиску. На этапе принятия решения 706 производится определение, является ли файл контейнером файлов, например файлом списка или архивным файлом. Если да, то процесс повторяется для каждого из файлов и/или ссылок на файлы в контейнере, начиная с этапа 701. Если файл не является контейнером (или если контейнер пуст), то на этапе принятия решения 708 производится определение, остались ли какие-либо файлы, подлежащие индексированию. Если да, то эти файлы подвергаются процессу, начинающемуся на этапе 701. Если же других файлов, подлежащих индексированию, не осталось, то способ заканчивается.
Заключение
Настоящее изобретение было описано применительно к его иллюстративным вариантам осуществления. Следует понимать, что изобретение, определенное в прилагаемой формуле изобретения, не обязано ограничиваться вышеописанными конкретными признаками и действиями. Напротив, вышеописанные конкретные признаки и действия раскрыты в порядке примеров реализации формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
ПОИСКОВЫЕ РЕЗУЛЬТАТЫ ДЛЯ НАТИВНЫХ ПРИЛОЖЕНИЙ | 2015 |
|
RU2665888C2 |
ПОИСКОВЫЕ РЕЗУЛЬТАТЫ ДЛЯ НАТИВНЫХ ПРИЛОЖЕНИЙ | 2015 |
|
RU2710293C2 |
ГЛУБИННЫЕ ССЫЛКИ ДЛЯ НАТИВНЫХ ПРИЛОЖЕНИЙ | 2015 |
|
RU2668726C2 |
ГЛУБИННЫЕ ССЫЛКИ ДЛЯ НАТИВНЫХ ПРИЛОЖЕНИЙ | 2015 |
|
RU2774319C2 |
ИНДЕКСАЦИЯ ССЫЛОЧНОГО КОНТЕНТА | 2015 |
|
RU2705425C2 |
ДЛИНА ДОКУМЕНТА В КАЧЕСТВЕ СТАТИЧЕСКОГО ПРИЗНАКА РЕЛЕВАНТНОСТИ ДЛЯ РАНЖИРОВАНИЯ РЕЗУЛЬТАТОВ ПОИСКА | 2009 |
|
RU2517271C2 |
КОМПЬЮТЕРНЫЙ ПОИСК С ПОМОЩЬЮ АССОЦИАТИВНЫХ СВЯЗЕЙ | 2004 |
|
RU2343537C2 |
ВЕРИФИКАЦИЯ КОНТЕНТА СОБСТВЕННОГО ПРИЛОЖЕНИЯ | 2015 |
|
RU2713608C2 |
ФАЙЛОВАЯ СИСТЕМА, ПРЕДСТАВЛЕННАЯ ВНУТРИ БАЗЫ ДАННЫХ | 2006 |
|
RU2398275C2 |
ФАЙЛОВАЯ СИСТЕМА ДЛЯ ОТОБРАЖЕНИЯ ЭЛЕМЕНТОВ РАЗЛИЧНЫХ ТИПОВ И ИЗ РАЗЛИЧНЫХ ФИЗИЧЕСКИХ МЕСТОПОЛОЖЕНИЙ | 2003 |
|
RU2376630C2 |
Изобретение относится к обработке компьютерных данных, в частности к индексированию контейнера файлов и поиску в нем. Техническим результатом является обеспечение интеллектуального индексирования содержимого контейнера файлов, позволяющего избежать дублирующих, обескураживающих или неполных результатов поиска. В реализуемом компьютером способе индексирования содержимого контейнера файлов осуществляют доступ к элементам в контейнере файлов. Для каждого элемента в контейнере файлов определяют, является ли элемент ссылкой на файл для целевого файла, которая действует как заполнитель и указывает на этот целевой файл. При этом если элемент является ссылкой на файл, определяют, находится ли целевой файл ссылки на файл в объеме индексирования, причем если целевой файл ссылки на файл в настоящее время может быть проиндексирован, то целевой файл находится в объеме индексирования. В ответ на определение, что целевой файл находится в объеме индексирования, индексируют внешние свойства ссылки на файл, и в ответ на определение, что целевой файл находится вне объема индексирования, индексируют внутренние и внешние свойства и контент целевого файла. 3 н. и 17 з.п. ф-лы, 7 ил.
1. Реализуемый компьютером способ индексирования содержимого контейнера файлов, содержащий этапы, на которых
осуществляют доступ к элементам в контейнере файлов и
для каждого элемента в контейнере файлов:
определяют, является ли элемент ссылкой на файл для целевого файла, которая действует, как заполнитель и указывает на этот целевой файл,
если элемент является ссылкой на файл, определяют, находится ли целевой файл ссылки на файл в объеме индексирования, при этом если целевой файл ссылки на файл в настоящее время может быть проиндексирован, то целевой файл находится в объеме индексирования;
в ответ на определение, что целевой файл находится в объеме индексирования, индексируют внешние свойства ссылки на файл, и
в ответ на определение, что целевой файл находится вне объема индексирования, индексируют внутренние и внешние свойства и контент целевого файла.
2. Реализуемый компьютером способ по п.1, дополнительно содержащий этап, на котором индексируют внутренние и внешние свойства и контент контейнера файлов.
3. Реализуемый компьютером способ по п.2, в котором при индексировании свойств и контента контейнера файлов используют IFilter.
4. Реализуемый компьютером способ по п.1, в котором при определении, находится ли целевой файл в объеме индексирования, определяют местонахождение целевого файла.
5. Реализуемый компьютером способ по п.1, в котором при осуществлении доступа к элементам в контейнере файлов используют обработчик протокола.
6. Реализуемый компьютером способ по п.1, в котором контейнер файлов содержит файл списка.
7. Реализуемый компьютером способ по п.1, в котором контейнер файлов содержит, по меньшей мере, один из файла в формате zip, файла в формате cabinet и файла в формате tape archive.
8. Реализуемый компьютером способ по п.1, в котором внешние свойства содержат введенные пользователем примечания к ссылке на файл.
9. Реализуемый компьютером способ индексирования содержимого контейнера файлов, содержащий этапы, на которых:
индексируют множество файлов;
обнаруживают файл из множества файлов, в котором файл содержит, по меньшей мере, одну ссылку на файл;
осуществляют доступ к файлу, используя протокол доступа, чтобы индексировать, по меньшей мере, одну ссылку на файл, как элемент расширения пространства имен оболочки.
10. Реализуемый компьютером способ по п.9, в котором процессор дополнительно способен осуществлять этапы для каждой ссылки на файл в файле:
определения, указывает ли ссылка на файл на целевой файл в объеме индексирования,
если целевой файл находится в объеме индексирования, индексирования внешних свойств ссылки на файл, и
если целевой файл находится вне объема индексирования, индексирования контента целевого файла.
11. Реализуемый компьютером способ по п.10, в котором внешние свойства содержат комментарии, введенные пользователем.
12. Реализуемый компьютером способ по п.10, в котором определение, указывает ли ссылка на файл на целевой файл в объеме индексирования, содержит определение местонахождения целевого файла.
13. Реализуемый компьютером способ по п.9, в котором доступ к файлу как к расширению пространства имен оболочки содержит доступ к файлу с использованием обработчика протокола.
14. Реализуемый компьютером способ по п.9, в котором контейнер файлов содержит файл списка.
15. Реализуемый компьютером способ по п.9, в котором контейнер файлов содержит, по меньшей мере, один из файла в формате zip, файла в формате cabinet и файла в формате tape archive.
16. Считываемый компьютером носитель, на котором хранятся команды для управления компьютером, в соответствии с которыми
индексируют файл из множества файлов, в котором файл включает в себя, по меньшей мере, одну ссылку на файл,
осуществляют доступ к файлу для индексирования, по меньшей мере, одной ссылки на файл, и
для каждой ссылки на файл в файле:
определяют, указывает ли ссылка на файл на целевой файл в множестве файлов, если целевой файл принадлежит множеству файлов, не
индексируют внутренние свойства ссылки на файл и не индексируют контент целевого файла, и
если целевой файл не принадлежит совокупности файлов, индексируют внутренние свойства, внешние свойства и контент целевого файла.
17. Считываемый компьютером носитель по п.16, в котором доступ к файлу содержит использование обработчика протокола.
18. Считываемый компьютером носитель по п.17, в котором доступ к файлу содержит создание расширения пространства имен оболочки.
19. Считываемый компьютером носитель по п.16, в котором файл содержит формат файла списка.
20. Считываемый компьютером носитель по п.16, в котором файл содержит, по меньшей мере, один из формата zip, формата cabinet и формата tape archive.
СИСТЕМА ПОИСКА ИНФОРМАЦИИ В КОМПЬЮТЕРНОЙ СЕТИ | 1998 |
|
RU2138076C1 |
УСТРОЙСТВО ДЛЯ ХРАНЕНИЯ И ПОИСКА ИНФОРМАЦИИ В ПАМЯТИ | 1996 |
|
RU2101762C1 |
US 5572729 A, 05.11.1996 | |||
US 6834276 B1, 21.12.2004 | |||
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
WO 00/17765 A1, 30.03.2000. |
Авторы
Даты
2011-04-27—Публикация
2006-06-30—Подача