Maligayang pagdating!
Ngayon ay pag-uusapan natin ang tungkol sa full-text na search engine na Elasticsearch (simula dito ES), kung saan
Ang platform ng Docsvision 5.5 ay tumatakbo.
Kapag kumpleto na ang pag-install, pumunta sa http://localhost:9200/
Dapat ipakita ang page ng status ng ES, halimbawa sa ibaba:
Kung hindi magbubukas ang page, tiyaking gumagana ang serbisyo ng Elasticsearch. Sa Windows ito
Serbisyo ng Elasticsearch.
3. Kumonekta sa Docsvision
Ang koneksyon sa Elasticsearch ay na-configure sa full-text na pahina ng serbisyo
pag-index.
Dito kailangan mong tukuyin:
1. Elasticsearch server address (itinakda sa panahon ng pag-install).
2. Connection string sa DBMS.
3. Docsvision address (sa format na ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx)
4. Sa tab na "Mga Card" at "Mga Direktoryo", kailangan mong i-configure ang data na iyon
kailangang ma-index.
Kailangan mo ring tiyakin na ang account kung saan tumatakbo ang serbisyo ng Docsvision
Fulltext Indexing service, ay may access sa Docsvision database sa MS SQL.
Pagkatapos kumonekta, kailangan mong tiyakin na ang mga trabahong may prefix ay nilikha sa database ng MS SQL:
"DV:FullText_<DBNAME>_CardWithFilesPrepareRange"
Matapos makumpleto ang mga setting, maa-unlock ang search bar sa Windows client.
4. REST API Elastic
Ang administrator ay maaaring makakuha ng iba't ibang impormasyon tungkol sa pagpapatakbo ng Elasticsearch gamit
ibinigay ng REST API.
Sa mga sumusunod na halimbawa ay gagamitin namin ang Insomnia Rest Client.
Pagkuha ng pangkalahatang impormasyon
Kapag gumagana na ang serbisyo (http://localhost:9200/ sa browser), magagawa mo
patakbuhin ang kahilingan: http://localhost:9200/_cat/health?v
Kumuha tayo ng tugon tungkol sa estado ng serbisyo ng Elasticsearch (sa browser):
Tugon sa katayuan ng insomnia:
Bigyang-pansin natin ang Status - Berde, Dilaw, Pula. Sinasabi ng opisyal na dokumentasyon ang sumusunod tungkol sa mga katayuan:
β’ Berde β Maayos ang lahat (Ganap na gumagana ang cluster)
β’ Dilaw - Ang lahat ng data ay magagamit, ngunit ang ilang mga replika sa cluster ay hindi pa inilalaan para dito
β’ PulaβHindi available ang bahagi ng data sa anumang dahilan (ang cluster mismo ay gumagana nang normal)
Pagkuha ng mga estado tungkol sa mga node sa cluster at sa kanilang estado (mayroon akong 1 node): http://localhost:9200/_cat/nodes?v
Lahat ng ES index: http://localhost:9200/_cat/indices?v
Bilang karagdagan sa mga index mula sa Docsvision, maaaring mayroon ding mga index ng iba pang mga application - tibok ng puso,
kibana - kung gagamitin mo ang mga ito. Maaari mong ayusin ang mga kinakailangan mula sa mga hindi kailangan. Halimbawa,
Kunin lang natin ang mga index na may %card% sa pangalan: http://localhost:9200/_cat/indices/*card*?v&s=index
Elasticsearch configuration
Pagkuha ng mga setting ng Elasticsearch: http://localhost:9200/_nodes
Ang resulta ay magiging napakalawak, kabilang ang mga landas patungo sa mga log:
Alam na namin kung paano malalaman ang listahan ng mga index; awtomatikong ginagawa ito ng Docsvision, na nagbibigay ng pangalan sa index sa format:
<pangalan ng database+uri ng Indexed Card>
Maaari ka ring lumikha ng iyong sariling independiyenteng index: http://localhost:9200/customer?pretty
Tanging ito ay hindi isang GET, ngunit isang kahilingan sa PUT:
Resulta:
ipapakita ng sumusunod na query ang lahat ng mga index, kabilang ang mga bago (customer): http://localhost:9200/_cat/indices?v
5. Pagkuha ng impormasyon tungkol sa na-index na data
Katayuan ng index ng Elasticsearch
Matapos makumpleto ang paunang pagsasaayos ng Docsvision, ang serbisyo ay dapat na handa nang gumana at simulan ang pag-index ng data.
Una sa lahat, suriin natin kung ang mga index ay napuno at ang laki ng mga ito ay mas malaki kaysa sa karaniwang "bytes" gamit ang isang query na pamilyar sa amin: http://localhost:9200/_cat/indices?v
Bilang resulta, nakikita natin ang: 87 "mga gawain" at 72 "mga dokumento" ang na-index, na nagsasalita sa mga tuntunin ng aming EDMS:
Pagkaraan ng ilang oras, ang mga resulta ay ang mga sumusunod (bilang default, ang mga trabaho sa pag-index ay inilulunsad bawat 5 minuto):
Nakikita natin na dumami ang mga dokumento.
Paano mo malalaman na ang card na kailangan mo ay na-index na?
β’ Una, kailangan mong tiyakin na ang uri ng card sa Docsvision ay tumutugma sa data na tinukoy sa mga setting ng Elascticsearch.
β’ Pangalawa, hintayin na ma-index ang hanay ng mga card - kapag napunta ito sa Docsvision, kailangang lumipas ang ilang oras bago lumabas ang data sa storage.
β’ Pangatlo, maaari kang maghanap ng card gamit ang CardID. Magagawa mo ito sa sumusunod na kahilingan:
Kung ang card ay nasa storage, makikita natin ang "raw" na data nito; kung hindi, makakakita tayo ng ganito:
Naghahanap ng card sa isang Elasticsearch node
Maghanap ng dokumento ayon sa eksaktong tugma ng field ng Paglalarawan: http://localhost:9200/_search?q=description: ΠΡΡ ΠΎΠ΄ΡΡΠΈΠΉ tv1
Resulta:
maghanap ng dokumentong may entry na 'Papasok' sa Paglalarawan nito http://localhost:9200/_search?q=description like ΠΡ ΠΎΠ΄ΡΡΠΈΠΉ
Resulta:
Maghanap ng card ayon sa mga nilalaman ng naka-attach na file http://localhost:9200/_search?q=content like βAGILEβ
resulta:
Hanapin natin ang lahat ng card ng uri ng dokumento: http://localhost:9200/_search?q=_type:CardDocument
o lahat ng card ng uri ng gawain: http://localhost:9200/_search?q=_type:CardTask
Gamit ang mga disenyo at at ang mga parameter na ibinibigay ng Elasticsearch sa anyo ng JSON, maaari mong tipunin ang sumusunod na kahilingan: http://localhost:9200/_search?q=_type:CardTask and Employee_RoomNumber: ΠΡΡΠ» ΠΎΡΠΈc and Employee_FirstName:Konstantin
Ipapakita nito ang lahat ng card ng uri ng gawain, sa mga user na ang FirstName = Konstantin, at kung sino ang nasa Eagle Office.
Pero KATULAD Mayroong iba pang mga naka-dokumentong parameter:
hindi katulad, mga field, doc, content, atbp.
Lahat ng mga ito ay inilarawan dito.