Қош келдіңіздер!
Бүгін біз Elasticsearch (бұдан әрі ES) толық мәтінді іздеу жүйесі туралы сөйлесетін боламыз, онымен
Docsvision 5.5 платформасы жұмыс істейді.
Орнату аяқталғаннан кейін бөліміне өтіңіз http://localhost:9200/
ES күй беті көрсетілуі керек, төмендегі мысал:
Егер бет ашылмаса, Elasticsearch қызметінің жұмыс істеп тұрғанын тексеріңіз. Windows жүйесінде бұл
Elasticsearch қызметі.
3. Docsvision қызметіне қосылыңыз
Elasticsearch қосылымы толық мәтінді қызмет бетінде конфигурацияланған
индекстеу.
Мұнда сіз мыналарды көрсетуіңіз керек:
1. Elasticsearch серверінің мекенжайы (орнату кезінде орнатылады).
2. ДҚБЖ-ға қосылу жолы.
3. Docsvision мекенжайы (ConnectAddress= пішіміндеhttp://SERVER/DocsVision/StorageServer/StorageServerService.
asmx)
4. «Карталар» және «Каталогтар» қойындысында деректерді конфигурациялау қажет.
индекстеу қажет.
Сондай-ақ, Docsvision қызметі жұмыс істейтін есептік жазбаның екеніне көз жеткізуіңіз керек
Толық мәтінді индекстеу қызметі MS SQL жүйесінде Docsvision дерекқорына кіру мүмкіндігіне ие.
Қосылғаннан кейін префиксі бар жұмыс орындары MS SQL дерекқорында жасалғанына көз жеткізу керек:
"DV:FullText_<DBNAME>_CardWithFilesPrepareRange"
Параметрлерді аяқтағаннан кейін іздеу жолағы Windows клиентінде ашылады.
4. REST API Elastic
Әкімші Elasticsearch жұмысы туралы әртүрлі ақпаратты пайдалана алады
REST API қамтамасыз етеді.
Келесі мысалдарда біз Insomnia Rest Client қолданбасын қолданамыз.
Жалпы ақпарат алу
Қызмет іске қосылғаннан кейін (шолғышта http://localhost:9200/), сіз жасай аласыз
сұрауды іске қосыңыз: http://localhost:9200/_cat/health?v
Elasticsearch қызметінің күйі туралы жауап алайық (браузерде):
Ұйқысыздық күйіне жауап:
Күйге назар аударайық - жасыл, сары, қызыл. Ресми құжаттамада мәртебелер туралы былай делінген:
• Жасыл — бәрі жақсы (Кластер толығымен жұмыс істейді)
• Сары - барлық деректер қолжетімді, бірақ кластердегі кейбір көшірмелер оған әлі бөлінбеген
• Қызыл – деректердің бір бөлігі қандай да бір себептермен қолжетімсіз (кластердің өзі қалыпты жұмыс істейді)
Кластердегі түйіндер және олардың күйі туралы күйлерді алу (менде 1 түйін бар): http://localhost:9200/_cat/nodes?v
Барлық ES индекстері: http://localhost:9200/_cat/indices?v
Docsvision индекстерінен басқа, басқа қолданбалардың индекстері де болуы мүмкін - жүрек соғысы,
кибана - егер сіз оларды қолдансаңыз. Қажеттілерін қажетсізінен сұрыптауға болады. Мысалы,
Атауында %card% болатын индекстерді ғана алайық: http://localhost:9200/_cat/indices/*card*?v&s=index
Elasticsearch конфигурациясы
Elasticsearch параметрлерін алу: http://localhost:9200/_nodes
Нәтиже журналдарға апаратын жолдарды қоса алғанда, өте кең болады:
Біз индекстер тізімін қалай білуге болатынын білеміз; Docsvision мұны автоматты түрде жасайды, индекске форматта атау береді:
<деректер базасының аты+индекстелген картаның түрі>
Сіз өзіңіздің тәуелсіз индексіңізді жасай аласыз: http://localhost:9200/customer?pretty
Тек бұл GET емес, PUT сұрауы болады:
нәтижесі:
келесі сұрау барлық индекстерді, соның ішінде жаңаларын (тұтынушыны) көрсетеді: http://localhost:9200/_cat/indices?v
5. Индекстелген деректер туралы ақпарат алу
Elasticsearch индексінің күйі
Docsvision арқылы бастапқы конфигурациялау аяқталғаннан кейін қызмет жұмыс істеуге және деректерді индекстеуді бастауға дайын болуы керек.
Ең алдымен, индекстердің толтырылғанын және олардың өлшемі стандартты «байттардан» үлкен екенін бізге бұрыннан таныс сұрау арқылы тексерейік: http://localhost:9200/_cat/indices?v
Нәтижесінде біз мынаны көреміз: 87 «тапсырма» және 72 «құжат» индекстелген, біздің EDMS тұрғысынан:
Біраз уақыттан кейін нәтижелер келесідей болады (әдепкі бойынша индекстеу тапсырмалары әрбір 5 минут сайын іске қосылады):
Құжаттардың көбейгенін көріп отырмыз.
Сізге қажет картаның индекстелгенін қалай білуге болады?
• Алдымен, Docsvision қолданбасындағы карта түрі Elascticsearch параметрлерінде көрсетілген деректерге сәйкес келетініне көз жеткізуіңіз керек.
• Екіншіден, карталар массивінің индекстелуін күтіңіз – ол Docsvision жүйесіне кірген кезде деректер жадта пайда болғанша біраз уақыт өтуі керек.
• Үшіншіден, картаны CardID арқылы іздеуге болады. Мұны келесі сұрау арқылы жасауға болады:
Егер карта жадта болса, біз оның «шикі» деректерін көреміз, егер жоқ болса, біз келесідей нәрсені көреміз:
Elasticsearch түйінінде картаны іздеу
Сипаттама өрісінің дәл сәйкестігі бойынша құжатты табыңыз: http://localhost:9200/_search?q=description: Исходящий tv1
нәтижесі:
Сипаттамасында «Кіріс» жазбасы бар құжатты іздеңіз http://localhost:9200/_search?q=description like Входящий
нәтижесі:
Тіркелген файлдың мазмұны бойынша картаны іздеңіз http://localhost:9200/_search?q=content like ‘AGILE’
нәтиже:
Құжат түрінің барлық карталарын табайық: http://localhost:9200/_search?q=_type:CardDocument
немесе тапсырма түріндегі барлық карталар: http://localhost:9200/_search?q=_type:CardTask
Дизайндарды қолдану және және Elasticsearch JSON түрінде беретін параметрлерді пайдаланып, келесі сұрауды жинай аласыз: http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: Орёл офиc and Employee_FirstName:Konstantin
Ол Аты = Константин болатын және Eagle кеңсесіндегі пайдаланушылар арасында тапсырма түріндегі барлық карталарды көрсетеді.
қоспағанда LIKE Басқа құжатталған параметрлер бар:
айырмашылығы, өрістер, құжаттар, мазмұн және т.б.
Олардың барлығы сипатталған осында.