Вот допустим мне нужно узнать у кого на руках книга и инвентарным номером 5722, при условии, что книга записывается читателю в поле 40, инвентарь в 40^b(инв. номер), и в 40^f(дата факт. возврата) ставиться шесть звездочек, если книга еще на руках.
Открываю БД RDR, в свободном поиске набираю:
v40^b:'5722' and v40^f:'******'
Выдает одного человека, но просматривая поле 40 я не нахожу у него такого инвентарного номера
Нет, вы не правы, вся логика в свободном поиске работает. Коментарий на счет вертикальной черты - да, это действительно нужно! По поводу того, что не находит ничего - вы поиск делаете по все БД РДР, или по результатам поиска? Покажите скриншот. И еще, проверьте по виду поиска "Выданная литература/штрих-коды" этот инвентарный номер. Правда, у вас там будет этот номер только в том случае, если на него нет штрих-кода, в противном случае у вас будет в этом поиске именно его штрих-код. Если экземпляр штрих-кодирован, найдите его в ЭК по инвентарному номеру, определите его штрих-код и поищите в этом виде поиска книгу по штрих-коду
Олеся написал(а):
-------------------------------------------------------
> Может надо набрать знак "|" в начале строки, чтобы
> оба подполя были в одном повторении:
>
> |v40^b:'5722' and v40^f:'******'
Все работает. Но как это можно сделать с помощью интерфейса ИРБИС? Никакие библиотекари не будут вручную прописывать какие-то команды языка программирования в свободный поиск. Им нужно чтобы это было в ИРБИС через интерфейс.
Такая нужная функция, и ее почему-то нет в основном интерфейсе. Так как иначе обычный последовательный поиск по двум подполям работает неправильно, так как выводит в результатах записи, найденные в разных повторениях.
Это планируется сделать в интерфейсе ИРБИС? Или эти функции уже есть в новых версиях?
>
> Все работает. Но как это можно сделать с помощью
> интерфейса ИРБИС? Никакие библиотекари не будут
> вручную прописывать какие-то команды языка
> программирования в свободный поиск. Им нужно чтобы
> это было в ИРБИС через интерфейс.
> Такая нужная функция, и ее почему-то нет в
> основном интерфейсе. Так как иначе обычный
> последовательный поиск по двум подполям работает
> неправильно, так как выводит в результатах записи,
> найденные в разных повторениях.
> Это планируется сделать в интерфейсе ИРБИС? Или
> эти функции уже есть в новых версиях?
>
> Наша версия - 2011.1.
О чем это Вы?
ЛЮБОЙ поиск, который Вам требуется на регулярной основе, можно сделать прямым (т.е по СЛОВАРЮ). Последовательный СВОБОДНЫЙ поиск предназначен ТОЛЬКО для АДМИНИСТРАТОРОВ и никак не для БИБЛИОТЕКАРЕЙ
Alio написал(а):
-------------------------------------------------------
> О чем это Вы?
> ЛЮБОЙ поиск, который Вам требуется на регулярной
> основе, можно сделать прямым (т.е по СЛОВАРЮ).
> Последовательный СВОБОДНЫЙ поиск предназначен
> ТОЛЬКО для АДМИНИСТРАТОРОВ и никак не для
> БИБЛИОТЕКАРЕЙ
Имел ввиду то, что невозможно осуществить поиск только в одном повторении поля средствами интерфейса. Ни в последовательном поиске обычном, ни в поиске по словарю. А приходится использовать свободный поиск, вводя нужную команду.
Например нужно найти книги из депозитарного фонда, которые имеются у конкретной библиотеки. То есть нам нужно найти записи, в которых подполе 910^Q содержит "ДФ" и подполе 910^D содержит "ЛТБ Россошь" одновременно в одном повторении поля. Так вот это никак нельзя сделать, кроме как командой свободного поиска. Обычный последовательный поиск и поиск по словарю ищет по все повторениям, то есть одно значение может быть из одного повторения, а второе из другого, поэтому результат получается неправильный. А функции чтобы поставить допустим галочку "искать в одном повторении поля" в свободном поиске, как например есть в интерфейсе галочка "требование ко всем повторениям поля", такого нет.
То есть в обычно последовательном поиске, когда ищем с использованием уточняющего запроса, нельзя найти результаты только для одного повторения поля.
Редактировано 1 раз. Последний раз 20.09.2016 12:26 пользователем KrVs.
KrVs написал(а):
-------------------------------------------------------
> Alio написал(а):
> --------------------------------------------------
> -----
> > О чем это Вы?
> > ЛЮБОЙ поиск, который Вам требуется на
> регулярной
> > основе, можно сделать прямым (т.е по СЛОВАРЮ).
> > Последовательный СВОБОДНЫЙ поиск предназначен
> > ТОЛЬКО для АДМИНИСТРАТОРОВ и никак не для
> > БИБЛИОТЕКАРЕЙ
>
> Имел ввиду то, что невозможно осуществить поиск
> только в одном повторении поля средствами
> интерфейса. Ни в последовательном поиске обычном,
> ни в поиске по словарю. А приходится использовать
> свободный поиск, вводя нужную команду.
> Например нужно найти книги из депозитарного фонда,
> которые имеются у конкретной библиотеки. То есть
> нам нужно найти записи, в которых подполе 910^Q
> содержит "ДФ" и подполе 910^D содержит "ЛТБ
> Россошь" одновременно в одном повторении поля. Так
> вот это никак нельзя сделать, кроме как командой
> свободного поиска.
Ничего подобного. Если Вам нужны подобные поиски, сделайте инверсию (словарь), включив в FST, например, такую строку
910 0 (if p(v910) then 'XX=',v910^Q,'/',v910^D,/fi)
после чего пересоздать словарь и включить в сценарий поиска новый поиск по префиксу XX= (XX - новый префикс)
Обычный последовательный поиск
> и поиск по словарю ищет по все повторениям, то
> есть одно значение может быть из одного
> повторения, а второе из другого, поэтому результат
> получается неправильный. А функции чтобы поставить
> допустим галочку "искать в одном повторении поля"
> в свободном поиске, как например есть в интерфейсе
> галочка "требование ко всем повторениям поля",
> такого нет.
> То есть в обычно последовательном поиске, когда
> ищем с использованием уточняющего запроса, нельзя
> найти результаты только для одного повторения
> поля.
МОЖНО:
| (v910^Q : 'ДФ') and (v910^D : 'ЛТБ Россошь')
Как библиотекарь могу сказать, что мне бы очень бы пригодилось бы в последовательном поиске (не в строке свободного поиска, а в просто в последовательном поиске) возможность связать 2 поиска именно по признаку их наличия в одном повторении поля. Чтобы была возможность где-то поставить галочку аналогично с тем, что там есть "Требования ко всем повторениям поля".
Поясню на примере:
После конвертации из другой системы где не было в 600 поле подполя текст мы были вынуждены задать всем кто есть в 600 поле текст "о нем". В записях созданных уже в ИРБИСе все с текстом в порядке. Теперь пытаюсь это дело редактировать. И мне бы очень помогло бы, если бы я могла сделать поиск 600 содержит "о нем" и потом последовательный 600 расширение инициалов содержит "вна". И в этом вот втором запросе задать условие "в одном повторении". А дальше уже на результатах можно и групповую корректировку делать. И еще сделать последовательный поиск 600 текст "о нем" и 600 расширение инициалов - отсутствие и их связать тоже требованием в 1 повторении.
Это только пример, таких ситуаций много.
Это собственно та же мысль, что высказана выше - нужна возможность в обычном интерфейсе, для людей не владеющих языком форматирования.
Редактировано 2 раз. Последний раз 20.09.2016 15:45 пользователем roit.
А если "мне" надо соединить не два поиска, а три или четыре и не логикой И, а логикой ИЛИ и не с условием равно, а не равно или больше/меньше и т.д., тогда что?
Еще раз прочтите, что написано в предыдущем сообщении по поводу прямого поиска.
И еще раз: ПОСЛЕДОВАТЕЛЬНЫЙ ПОИСК не для библиотекарей. Если Вы библиотекарь - забудьте о нем. Если Вам нужны "экзотические" поиски, обращайтесь к администратору.
Если бы можно было соединить хотя бы 2 это уже решило бы многие проблемы. И есть же там Требование ко всем повторениям, почему бы там не быть еще условия Только в одном повторении.Нет, так нет, ничего не поделаешь.
Интерфейс последовательного поиска очень удобный и библиотекари с удовольствием им пользуются для решения самых разных задач. Я говорю не о свободном поиске, а именно о последовательном поиске в целом.
Сама я регулярно корректирую базу отбирая записи при помощи последовательного поиска и готовых (полученных на форуме) свободных. Кстати, это было вообще 1-е, что мы в ИРБИСе освоили т.к. после конвертации редактировать базу удобно именно с помощью этого поиска.
Администратора, который умел бы писать на языке форматов у нас нет и взять нам его неоткуда. И мы такие не единственные среди ваших клиентов.
Сотрудник информационного управления нашего вуза выполняет всякие программные работы (установить дистрибутив новой версии на сервере и т.п.), а все прочее делаем сами, с помощью этого форума и нашего дилера. Таким образом минимальные обязанности администратора, кроме установки на сервере, выполняю я.
Это я уже не к тому пишу, чтобы Вы что-то добавляли, а просто чтобы Вы не решили, не дай бог, закрыть каким-то образом от нас библиотекарей любимый нами Последовательный поиск.
Простейший пример использования библиотекарем Последовательного поиска - любой библиотекарь обслуживания с его помощью может отобрать студентов лишенных права пользования (29 поле), у которых в примечании (33 поле) есть определенный текст. А дальше он работает с этими записями.
Вывод: ПОСЛЕДОВАТЕЛЬНЫЙ ПОИСК НУЖЕН БИБЛИОТЕКАРЯМ И ВОСТРЕБОВАН ИМИ.
Редактировано 4 раз. Последний раз 21.09.2016 15:57 пользователем roit.
Какое подходящее название у темы...
После неудачной глобальной в части повторений пропало место хранения.
Делаю выборку всех подвергшихся этому издевательству записей, пытаюсь уточнить всеми возможными мне способами
Если нужно отобрать записи, в которых есть экземпляры с незаданным местом хранения, то в окне свободного поиска:
rsum((if p(v910) then if v910^D='' then '1,' fi fi))>0
А пропали места после глобальной, видимо, из-за некорректного оператора. Вы, наверное, делали CHA? В операторах CHA и REP надо очень точно формировать корректирующие строки, чтобы не было смещений по отношению к существующим строкам (повторениям поля).
С оператором DEL подполя возможна ошибка. На удаление вы формируете набор строк из 0 или 1, он накладывается на существующий набор строк (повторений), важно четкое соответствие. С подполем надо учитывать возможное отсутствие этого подполя в исходных строках.
Свободный поиск взбесился и выдает количество найденных документов в разы большее, чем вообще есть документов в БД. См. скриншот. Почему так может быть?
На всякий случай провела диагностику базы - ошибок не обнаружено.
При переходе к результатам поиска в начале списка появляется десяток физически удаленных записей, у некоторых из них нет MFN, у некоторых странные MFN (см. скриншот).
1. экспортируйте все записи из БД IBOOKS
2. выполните реорганизацию файла БД с последующим созданием словаря БД заново - полностью.
3. если не поможет п. 2 опустошите БД, импортируйте записи которые выгрузите на первом шаге и создайте словарь БД заново (полностью).