Глава 6. Вспомогательные утилиты

Содержание
6.1. Программа printkeys
6.2. Программа arcview
6.3. Программа atrview

6.1. Программа printkeys

6.1.1. Индексные файлы

В результате индексирования каждому документу приписывается уникальное число - внутренний идентификатор документа, а содержимое и свойства документа запоминаются в индексных файлах indexkey и indexinv. Все слова, встречающиеся в массиве индексируемых документов, а также поисковые атрибуты и зоны запоминаются в файле indexkey и в дальнейшем называются ключами. Для каждого ключа в файле indexinv запоминается список словопозиций, или просто позиций. Каждая позиция включает внутренний идентификатор документа, номер предложения, в котором встретился ключ, номер слова в предложении, а также некоторый вес, назначенный данной позиции интерпретатором документного формата.

Служебная программа printkeys позволяет представить эту информацию в текстовом виде, пригодном для чтения человеком или дальнейшей обработки программами-скриптами. В зависимости от параметров командной строки программа выводит информацию либо только о ключах, либо о ключах и позициях.

В первом случае читается только файл indexkey. Каждому ключу соответствует одна выводимая строка, в которой печатается значение ключа. Далее в этой же строке может печататься через пробел число позиций, соответствующих ключу, длина в байтах упакованных позиций и смещение в файле indexinv до начала записи с позициями. Если указан параметр командной строки -0, число позиций не печатается. Смещение печатается только если указан параметр -p. Все числа печатаются в десятичном формате.

Второй случай реализуется, если указан один из параметров -w, -i, -l, -x. В этом случае для каждого ключа, в дополнение к указанной в предыдущем абзаце информации, печатаются позиции из файла indexinv, по одной позиции на строку. Формат, в котором печатается позиция, зависит от указанного параметра.

6.1.2. Параметры командной строки

Вызов программы printkeys осуществляется следующим образом:

  printkeys [-0|1] [-k key] [-e] [-p] [-w|x|l|i|f]  [-s] [-m] [-c] [-t] [-o output]  indexkey indexinv
Здесь в квадратных скобках указаны необязательные параметры.

Формат индекса

-0

Индексный файл является порцией индекса, созданной во временной директории в процессе работы индексатора. В этом случае число позиций не распечатывается.

-1

Индексный файл является полным индексом, полученным после слияния порций и готовым для работы поискового сервера.

Значение по умолчанию: -1

Формат выводимых ключей

-k keyprefix

Печатать только ключи, начинающиеся с указанной подстроки. По умолчанию распечатываются все ключи.

-e

Печатать ключи в том виде, как они хранятся в индексе (все буквы строчные; если слово начинается с прописной буквы, в конце слова прибавляется символ со значением 1). По умолчанию, ключи преобразуются к нужному регистру.

-p

Печатать смещение в файле indexinv до начала записи с упакованными позициями, соответствующими ключу. По умолчанию смещение не печатается.

Формат выводимых позиций

-w

Печатать позиции в формате "\t[D.S.W.R]\n", где D,S,W и R - соответственно идентификатор документа, номер предложения, номер слова в предложении и вес позиции в десятичном формате.

-x

Печатать позиции в формате "\tP\n", где P - восьмибайтовое число в шестнадцатиричном формате. Идентификатор документа, номер предложения, номер слова в предложении и вес позиции занимают в этом числе определенное число бит, которое может зависеть от версии индексатора.

-l

Печатать позиции в формате "\tD\tL\n", где D - идентификатор документа, а L - число в десятичном формате, в котором запакованы номер предложения, номер слова в предложении и вес позиции.

-i

Печатать только внутренние идентификаторы документа в формате "\tD\n", где D - идентификатор документа в десятичном формате.

-f

Печатать словопозиции в формате "\t[D.S.W.R.F]\n", D,S,W, R и F - соответственно идентификатор документа, номер предложения, номер слова в предложении, вес позиции в десятичном формате и номер словоформы в данном ключе.

-s

Печатать статистику по словоформам

-c

При печатати ключей показывать словоформы. Если опция отсутствует показывать леммы.

Параметры ввода-вывода

-o filename

Выводить информацию в filename. По умолчанию вывод осуществляется в stdout.

-t

Использовать символ табуляции в качестве разделителя полей.

-m

При чтении индекса использовать мапирование. По умолчанию используется последовательное чтение. Имеет смысл, только если указан один из параметров -w, -i, -l, -x.

Индекс

indexkey

Путь к файлу с ключами. Обязательный параметр.

indexinv

Путь к файлу с позициями. Обязательный параметр.

Copyright © 1997 – 2007 «Яндекс»