SOA ITCOD
Сервис "search" SEARCH module for Nginx.
Copyright (c) 2015 by Yura Vdovytchenko (max@itcod.com)
Copyright (c)itcod 2010-2015
Назначение: Обеспечить поиск отбор в закрытых пользовательских массивах и выполнение простейших статистических операций с формированием результатов. Операции выполняются над пользовательскими массивами к которым владелец разрешил доступ сервису "search".
Массив это группа любых файлов в определённой папке. Доступ разрешается наличием в папке файла .htsearch
c строками разрешённых действий (пример: all:all - разрешен доступ ко всем файлам и любой метод обработки полученных данных)
path lua file: /etc/nginx/lua/itcod-search.lua path for access for service search .htsearch (trivial string: all:all)
Example Nginx virtual example.conf
local example = { _NGINX = [[
server { #...
location / {
#...
}
location /search/ {
content_by_lua_file /etc/nginx/lua/itcod-search.lua;
}
} ]] }
Параметры (при разработке ПО п1-4 желательно выносить в конфигурационный файл)
-
путь к сервису http://home.itcod.com/search/
-
идентификатор хранителя массива (login/ИНН/etc) IDUser=000000000000
-
идентификатор массива в котором выполнить поиск IDCatalog=DosieMD5
-
шаблон отбора имён карточек по маске (формат паттернов lua) pattern=[%a%d+]-.%.atrib
-
метод:тип:ключ:[] и метод исполнения key=:file
:file - над списком отобранных по маске файлов,
:itcod::[:$LNG$] - над ключами внутри объектов itcod (в [] необязательный параметр)
:itcod:usr:$KEY$[:$LNG$]
:itcod:sys:$KEY$[:$LNG$]
:itcod:all:$KEY$[:$LNG$]
:itcod:vas:$KEY$[:$LNG$]
-
выполняемое правило rule=list
list - список найденых файлов (аналогично list:name),
list:[$CRYPT$] - список файлов с хэшем openssl (имяфайла = MD5),
[$CRYPT$] md5 md4 sha1 sha ripemd160
sum - сумма,
union - текстовое последовательное соединение
Формат запроса 1?2&3&4&5&6
Запрос выполняется только методом GET. Примеры см. ниже.
При неверном запросе/запрете доступа к массиву(п3)/методам исполнения(п5)/отсутствии файла сервис возвращает код 403
ПРИМЕРЫ ПО получению данных из единого массива карточек DosieMD5
ЧАСТЬ 1 Общие статистические данные
1.1. показать список всех карточек .atrib
1.1.1 показать список всех карточек .atrib c MD5 файлов
1.1.2 показать список всех карточек .atrib c SHA1 файлов
1.2. показать кол-во карточек .atrib
1.3. показать список карточек .atrib по ИНН 4443022434 (Дворец Творчества г. Кострома)
1.4. показать сумму карточек .atrib по ИНН 4443022434
ЧАСТЬ 2 Статистические разрезы по ключевым параметрам
2.1. показать список данных из ключей CountBudget карточек .atrib по ИНН 4443022434
2.2. показать сумму ключей CountBudget карточек .atrib по ИНН 4443022434
2.3. показать текстовое последовательное соединение данных ключей CountBudget карточек .atrib по ИНН 4443022434
2.4. тестовый блок проверки суммирования CountBudget двух различных организаций
ОТВЕТ html (данные ответа в блоке START-STOP)
SOA ITCOD
SERVICE "SEARCH"
ANSWER THE QUESTION
2
-- в разработке --
:itcod:sys:$KEY$[:$LNG$]
:itcod:all:$KEY$[:$LNG$]
:itcod:vas:$KEY$[:$LNG$]