Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Web Ирбис и Z-Ирбис :  ИРБИС Irbis
 
Страницы: <<12
Страница: 2 из 2
Re: Расширение возможностей поиска по словарю
Пользователь: ILV (IP-адрес скрыт)
Дата: 29, November, 2011 11:12

Сам принцип мне был понятен, но всё же не ясно как именно сервер обрабатывает строку с терминами (функция?) и каким образом с помощью Аякс и языка форматирования вытащить эту строку?

К вопросу об обработке строки терминов...
В стандартном поиске идёт поиск по:"ХАНТЫ-МАНСИЙСК,"
В поисковый запрос отправляется:(<.>K=ХАНТ$<.>*<.>K=МАНСИЙСК$<.>)
Вероятно следуя регулярному выражению "не буква" строка разбивается на слова, а дальше проделываются манипуляции с каждым словом. Это всё выполняется на сервере или я всё-таки пропустила что-то во фреймах или/и скриптах? Как добиться того, чтобы разбивка происходила только по запятым(ну в крайнем случае ещё по пробелам)?



Редактировано 1 раз. Последний раз 29.11.2011 12:36 пользователем ILV.

Re: Расширение возможностей поиска по словарю
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 29, November, 2011 14:57

Цитата:
Добавьте в фст такой вариант:
101 0 if 'ru en ua':v101 then else 'J=other' fi,

Все новые, не вписанные в изначальный поиск, будут улетать в другие
Улетают в другие, если будет так:
8101 0 if p(v101) then if 'rus eng ukr':v101 then 'YAZ=HZ' else 'YAZ=other' fi fi
Но если поле имеет размножение, то этот документ также входит в другие.
Gena
Не знаете, как справиться с размножением поля. Как вы выполнили вообще задачу: возможность реализовать поиск по языку документа?
+
Методом проб и ошибок все-таки удалось выполнить задачу:
8101 0 (if p(v101) then if 'rus ukr eng':v101 then else 'YAZ=OTHER' fi fi/)
Но что значит символ "/" в конце строк так и не понял. Расскажите, пожалуйста.



Редактировано 1 раз. Последний раз 29.11.2011 23:19 пользователем woodyfon.

Re: Расширение возможностей поиска по словарю
Пользователь: Gena (IP-адрес скрыт)
Дата: 30, November, 2011 17:00

woodyfon написал(а):
-------------------------------------------------------

> Не знаете, как справиться с размножением поля. Как
> вы выполнили вообще задачу: возможность
> реализовать поиск по языку документа?
> +
> Методом проб и ошибок все-таки удалось выполнить
> задачу:
> 8101 0 (if p(v101) then if 'rus ukr eng':v101 then
> else 'YAZ=OTHER' fi fi/)
> Но что значит символ "/" в конце строк так и не
> понял. Расскажите, пожалуйста.


символ / - переход на новую строку. Если поле с повторениями вывести без него, все значения будут выводится сразу друг за друго. В случае с языками вы получите следующее:

Формат:
v101

Результат формата:
rusukreng

Если же использовать скобки - признак работы группы и символ / то можно отдельно обработать каждое повторение поля

Формат:
(v101/)

Результат формата:
rus
ukr
eng

Так что вы своим методом проб и ошибок нашли правильное решение, но лучше почитать документацию.

А почему у вас не работал прежний формат, смотрите:

'rus eng ukr':v101

Если поле 101 содержит несколько повторений и нет знака перехода на новую строку, то фактически вы выполняли следующее сравнение
'rus eng ukr':'rusukreng'

Re: Расширение возможностей поиска по словарю
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 01, December, 2011 23:40

ILV написал(а):
-------------------------------------------------------
> В стандартном поиске идёт поиск
> по:"ХАНТЫ-МАНСИЙСК,"
> В поисковый запрос
> отправляется:(<.>K=ХАНТ$<.>*<.>K=МАНСИЙСК$<.>)

"Полезные" символы определяются в таблицах: ISISACW.TAB, ISISUCW.TAB Аналогичные таблицы используются другими АРМами при актуализации словаря, поэтому поиск по Ханты-мансийск должен выполняться корректно.

Страницы: <<12
Страница: 2 из 2


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