Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Система ИРБИС в целом :  ИРБИС Irbis
 
Помогите разобраться с ТВП
Пользователь: asim (IP-адрес скрыт)
Дата: 09, February, 2010 18:35

У меня есть повторяющееся поле 605, в котором (я поправил pr31.wss и сделал !sommov.pft по мотивам !smov.pft) у меня могут быть подполя ^A (рубрика) и ^B (модификаторы рубрики). Это у меня ещё один mesh. Я хочу иметь отдельный словарь для ввода 605^A. Правлю <dbname>.fst. Вот что получается:

605 0 (|SOM=|v605^a,|%|d605^a)
работает как нужно

605 0 (|SOM=|v605^a)
а так не работает, "склеивает" все 605^a из каждой записи в одну строчку, которую я вижу при просмотре словаря (из Каталогизатора)

605 0 (if p(v605^a) then 'SOM='v605^a fi/)
и так не работает, словарь (если смотреть из Каталогизатора) "выглядит нормально", но при попытке ввода вместо выбранного термина происходит ввод первого 605^a из той записи, в которой этот термин встречается (в первой из них?)

Читал приложение 5 несколько раз, но до меня не дошло...
Мне не понятно, зачем нужен оператор % в первом варианте. Мне бы хотелось, чтобы мне пояснили как работает первый вариант.
Как-то можно в человеко-читабельном виде посмотреть, что именно попадает в словарь?
Я правильно выбрал метод индексирования 0?
В описании метода индексирования 0 написано "формируется элемент из каждой строки, созданной форматом", но разве второй вариант моей ТВП не формирует столько строк, сколько у меня полей 605^a в рассматриваемой записи?

На всякий случай прилепил wss и pft.
Ирбис у меня 32 2007.1 с mesh.

Вложения: PR31.WSS (113 bytes)   !sommov.pft (140 bytes)  
Re: Помогите разобраться с ТВП
Пользователь: Михайленко Илья (IP-адрес скрыт)
Дата: 09, February, 2010 18:48

Логично.


Общее описание системы
Приложение 5, п. 3. ТВП для инвертированного файла

...
Индексная ссылка имеет следующие 4 компоненты:
...
3 Номер экземпляра (повторения) повторяющегося поля, необходимый для осуществления поиска на уровне поля и операторов близости расположения терминов в повторяющихся полях (в АРМах ИРБИС это используется при поиске по логике «И (в поле)»). Для того, чтобы можно было использовать указанный метод поиска (обычно для этого необходим метод индексирования 4 или 8), необходимо определить формат в ТВП таким, чтобы в его выходных данных между экземплярами повторяющегося поля располагался знак процента (%), для чего нужно задать его в качестве повторяющегося суффикс-литерала. Например, строка ТВП для инвертирования повторяющегося поля 10 должна содержать формат v10|%|. Система перед обработкой каждой строки ТВП устанавливает номер повторения в 1 и затем увеличивает его на 1 всякий раз, когда в созданном форматом тексте встречается символ %.



Редактировано 1 раз. Последний раз 09.02.2010 18:50 пользователем Михайленко Илья.

Re: Помогите разобраться с ТВП
Пользователь: Михайленко Илья (IP-адрес скрыт)
Дата: 09, February, 2010 18:58

Цитата:
asim
605 0 (|SOM=|v605^a)
а так не работает, "склеивает" все 605^a из каждой записи в одну строчку, которую я вижу при просмотре словаря (из Каталогизатора)

Результатом будет примерно такая строка (одна)
SOM=term1SOM=SOM=Term3
Символ / потеряли
Цитата:
asim
605 0 (if p(v605^a) then 'SOM='v605^a fi/)
и так не работает, словарь (если смотреть из Каталогизатора) "выглядит нормально", но при попытке ввода вместо выбранного термина происходит ввод первого 605^a из той записи, в которой этот термин встречается (в первой из них?)

Тут / не потеряно, но потеряна возможность поиска на уровне поля (счетчик номера поля всегда = 1). Да, получите набор терминов по которым найдете запись, но ссылка этого термина будет всегда указывать на 1 повторение поля.

Оператор % (а не номер строки) используется для возможности построения таких индексов:

605 0 (|SOM=|v605^a,|%|d605^a)/(|SOM2=|v605^b,|%|d605^b)
(т.е. фактически 2 индекса за один проход)

Re: Помогите разобраться с ТВП
Пользователь: asim (IP-адрес скрыт)
Дата: 09, February, 2010 19:29

Вот про назначение % с повторяющимися полями я и просмотрел... Спасибо!



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.