ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ื‘ืจื•ื›ื™ื ื”ื‘ืื™ื!
ื”ื™ื•ื ื ื“ื‘ืจ ืขืœ ืžื ื•ืข ื”ื—ื™ืคื•ืฉ ื‘ื˜ืงืกื˜ ืžืœื Elasticsearch (ืœื”ืœืŸ ES), ืื™ืชื•
ืคืœื˜ืคื•ืจืžืช Docsvision 5.5 ืคื•ืขืœืช.

ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

1. ื”ืชืงื ื”

ืืชื” ื™ื›ื•ืœ ืœื”ื•ืจื™ื“ ืืช ื”ื’ืจืกื” ื”ื ื•ื›ื—ื™ืช ืžื”ืงื™ืฉื•ืจ: www.elastic.co/downloads/elasticsearch
ืฆื™ืœื•ื ืžืกืš ืฉืœ ื”ืžืชืงื™ืŸ ืœืžื˜ื”:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

2. ื‘ื“ื™ืงืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช

ืœืื—ืจ ื”ืฉืœืžืช ื”ื”ืชืงื ื”, ืขื‘ื•ืจ ืืœ
http://localhost:9200/
ื™ืฉ ืœื”ืฆื™ื’ ืืช ื“ืฃ ืกื˜ื˜ื•ืก ES, ื“ื•ื’ืžื” ืœื”ืœืŸ:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ืื ื”ื“ืฃ ืœื ื ืคืชื—, ื•ื“ื ืฉืฉื™ืจื•ืช Elasticsearch ืคื•ืขืœ. ื‘ื•ื•ื™ื ื“ื•ืก ื–ื”
ืฉื™ืจื•ืช Elasticsearch.
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

3. ื”ืชื—ื‘ืจ ืœ-Docsvision

ื—ื™ื‘ื•ืจ ืืœ Elasticsearch ืžื•ื’ื“ืจ ื‘ื“ืฃ ื”ืฉื™ืจื•ืช ื‘ื˜ืงืกื˜ ืžืœื
ืื™ื ื“ืงืก.
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ื›ืืŸ ืืชื” ืฆืจื™ืš ืœืฆื™ื™ืŸ:
1. ื›ืชื•ื‘ืช ืฉืจืช Elasticsearch (ืžื•ื’ื“ืจืช ื‘ืžื”ืœืš ื”ื”ืชืงื ื”).
2. ืžื—ืจื•ื–ืช ื—ื™ื‘ื•ืจ ืœ-DBMS.
3. ื›ืชื•ื‘ืช Docsvision (ื‘ืคื•ืจืžื˜ ConnectAddress=http://SERVER/DocsVision/StorageServer/StorageServerService.
asmx
)
4. ื‘ื›ืจื˜ื™ืกื™ื™ื” "ื›ืจื˜ื™ืกื™ื" ื•"ืกืคืจื™ื•ืช", ืืชื” ืฆืจื™ืš ืœื”ื’ื“ื™ืจ ืืช ื”ื ืชื•ื ื™ื
ืฆืจื™ืš ืœื”ื™ื•ืช ืื™ื ื“ืงืก.
ืืชื” ื’ื ืฆืจื™ืš ืœื•ื•ื“ื ืฉื”ื—ืฉื‘ื•ืŸ ืฉืชื—ืชื™ื• ืคื•ืขืœ ืฉื™ืจื•ืช Docsvision
ืฉื™ืจื•ืช Fulltext Indexing, ื‘ืขืœ ื’ื™ืฉื” ืœืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ Docsvision ื‘-MS SQL.
ืœืื—ืจ ื”ื—ื™ื‘ื•ืจ, ืขืœื™ืš ืœื•ื•ื“ื ืฉืขื‘ื•ื“ื•ืช ืขื ื”ืงื™ื“ื•ืžืช ื ื•ืฆืจื•ืช ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ MS SQL:
"DV:FullText_<DBNAME>_CardWithFilesPrepareRange"
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ืœืื—ืจ ื”ืฉืœืžืช ื”ื”ื’ื“ืจื•ืช, ืกืจื’ืœ ื”ื—ื™ืคื•ืฉ ื™ื‘ื•ื˜ืœ ื‘ืœืงื•ื— Windows.

4. ืืœืกื˜ื™ ืฉืœ REST API

ื”ืžื ื”ืœ ื™ื›ื•ืœ ืœืงื‘ืœ ืžื™ื“ืข ืฉื•ื ื” ืขืœ ืคืขื•ืœืช Elasticsearch ื‘ืืžืฆืขื•ืช
ืžืกื•ืคืง ืขืœ ื™ื“ื™ REST API.
ื‘ื“ื•ื’ืžืื•ืช ื”ื‘ืื•ืช ื ืฉืชืžืฉ ื‘-Insomnia Rest Client.

ืงื‘ืœืช ืžื™ื“ืข ื›ืœืœื™

ื‘ืจื’ืข ืฉื”ืฉื™ืจื•ืช ืคื•ืขืœ (http://localhost:9200/ ื‘ื“ืคื“ืคืŸ), ืืชื” ื™ื›ื•ืœ
ื”ืคืขืœ ืืช ื”ื‘ืงืฉื”:
http://localhost:9200/_cat/health?v

ื‘ื•ืื• ืœืงื‘ืœ ืชื’ื•ื‘ื” ืœื’ื‘ื™ ืžืฆื‘ ืฉื™ืจื•ืช Elasticsearch (ื‘ื“ืคื“ืคืŸ):
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“
ืชื’ื•ื‘ื” ืœืžืฆื‘ ื ื“ื•ื“ื™ ืฉื™ื ื”:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“
ื‘ื•ืื• ื ืฉื™ื ืœื‘ ืœืกื˜ื˜ื•ืก - ื™ืจื•ืง, ืฆื”ื•ื‘, ืื“ื•ื. ื”ืชื™ืขื•ื“ ื”ืจืฉืžื™ ืื•ืžืจ ืืช ื”ื“ื‘ืจื™ื ื”ื‘ืื™ื ืœื’ื‘ื™ ืกื˜ื˜ื•ืกื™ื:
โ€ข ื™ืจื•ืง - ื”ื›ืœ ื‘ืกื“ืจ (ื”ืืฉื›ื•ืœ ืคื•ืขืœ ื‘ืžืœื•ืื•)
โ€ข ืฆื”ื•ื‘ - ื›ืœ ื”ื ืชื•ื ื™ื ื–ืžื™ื ื™ื, ืืš ื—ืœืง ืžื”ืขื•ืชืงื™ื ื‘ืืฉื›ื•ืœ ืขื“ื™ื™ืŸ ืœื ื”ื•ืงืฆื• ืขื‘ื•ืจื•
โ€ข ืื“ื•ื - ื—ืœืง ืžื”ื ืชื•ื ื™ื ืื™ื ื• ื–ืžื™ืŸ ืžื›ืœ ืกื™ื‘ื” ืฉื”ื™ื (ื”ืืฉื›ื•ืœ ืขืฆืžื• ืคื•ืขืœ ื›ืจื’ื™ืœ)
ืงื‘ืœืช ืžืฆื‘ื™ื ืœื’ื‘ื™ ื”ืฆืžืชื™ื ื‘ืืฉื›ื•ืœ ื•ืžืฆื‘ื (ื™ืฉ ืœื™ ืฆื•ืžืช ืื—ื“):
http://localhost:9200/_cat/nodes?v
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ื›ืœ ืžื“ื“ื™ ES:
http://localhost:9200/_cat/indices?v
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ื‘ื ื•ืกืฃ ืœืื™ื ื“ืงืกื™ื ืฉืœ Docsvision, ืขืฉื•ื™ื™ื ืœื”ื™ื•ืช ื’ื ืื™ื ื“ืงืกื™ื ืฉืœ ืืคืœื™ืงืฆื™ื•ืช ืื—ืจื•ืช - ืคืขื™ืžื•ืช ืœื‘,
kibana - ืื ืืชื” ืžืฉืชืžืฉ ื‘ื”ื. ืืชื” ื™ื›ื•ืœ ืœืžื™ื™ืŸ ืืช ื”ื“ืจื•ืฉื™ื ืžื”ืžื™ื•ืชืจื™ื. ืœื“ื•ื’ืžื”,
ื ื™ืงื— ืจืง ืื™ื ื“ืงืกื™ื ืฉื™ืฉ ืœื”ื %card% ื‘ืฉื:
http://localhost:9200/_cat/indices/*card*?v&s=index
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ืชืฆื•ืจืช Elasticsearch

ืงื‘ืœืช ื”ื’ื“ืจื•ืช Elasticsearch:
http://localhost:9200/_nodes
ื”ืชื•ืฆืื” ืชื”ื™ื” ื“ื™ ื ืจื—ื‘ืช, ื›ื•ืœืœ ื”ื ืชื™ื‘ื™ื ืœื™ื•ืžื ื™ื:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ืื ื—ื ื• ื›ื‘ืจ ื™ื•ื“ืขื™ื ืœื‘ืจืจ ืืช ืจืฉื™ืžืช ื”ืื™ื ื“ืงืกื™ื; Docsvision ืขื•ืฉื” ื–ืืช ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™, ื ื•ืชืŸ ืืช ื”ืฉื ืœืื™ื ื“ืงืก ื‘ืคื•ืจืžื˜:
<ืฉื ืžืกื“ ื ืชื•ื ื™ื+ืกื•ื’ ืฉืœ ื›ืจื˜ื™ืก ืื™ื ื“ืงืก>
ืืชื” ื™ื›ื•ืœ ื’ื ืœื™ืฆื•ืจ ืื™ื ื“ืงืก ืขืฆืžืื™ ืžืฉืœืš:
http://localhost:9200/customer?pretty
ืจืง ืฉื–ื• ืœื ืชื”ื™ื” GET, ืืœื ื‘ืงืฉืช PUT:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ืชื•ืฆืื”:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ื”ืฉืื™ืœืชื” ื”ื‘ืื” ืชืฆื™ื’ ืืช ื›ืœ ื”ืื™ื ื“ืงืกื™ื, ื›ื•ืœืœ ื—ื“ืฉื™ื (ืœืงื•ื—):
http://localhost:9200/_cat/indices?v
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

5. ื”ืฉื’ืช ืžื™ื“ืข ืขืœ ื ืชื•ื ื™ื ื‘ืื™ื ื“ืงืก

ืกื˜ื˜ื•ืก ืื™ื ื“ืงืก Elasticsearch

ืœืื—ืจ ื”ืฉืœืžืช ื”ืชืฆื•ืจื” ื”ืจืืฉื•ื ื™ืช ืขืœ ื™ื“ื™ Docsvision, ื”ืฉื™ืจื•ืช ืืžื•ืจ ืœื”ื™ื•ืช ืžื•ื›ืŸ ืœืคืขื•ืœื” ื•ืœื”ืชื—ื™ืœ ื‘ืื™ื ื“ืงืก ื ืชื•ื ื™ื.
ืงื•ื“ื ื›ืœ, ื‘ื•ืื• ื ื‘ื“ื•ืง ืฉื”ืื™ื ื“ืงืกื™ื ืžืœืื™ื ื•ื’ื•ื“ืœื ื’ื“ื•ืœ ื™ื•ืชืจ ืž"ื‘ื™ื™ื˜" ืกื˜ื ื“ืจื˜ื™ ื‘ืืžืฆืขื•ืช ืฉืื™ืœืชื” ืฉื›ื‘ืจ ืžื•ื›ืจืช ืœื ื•:
http://localhost:9200/_cat/indices?v
ื›ืชื•ืฆืื” ืžื›ืš, ืื ื• ืจื•ืื™ื: 87 "ืžืฉื™ืžื•ืช" ื•-72 "ืžืกืžื›ื™ื" ื ื•ืกืคื• ืœืื™ื ื“ืงืก, ื‘ืžื•ื ื—ื™ื ืฉืœ EDMS ืฉืœื ื•:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ืœืื—ืจ ื–ืžืŸ ืžื”, ื”ืชื•ืฆืื•ืช ื”ืŸ ื›ื“ืœืงืžืŸ (ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืขื‘ื•ื“ื•ืช ืื™ื ื“ืงืก ืžื•ืคืขืœื•ืช ื›ืœ 5 ื“ืงื•ืช):
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ืื ื• ืจื•ืื™ื ืฉืžืกืคืจ ื”ืžืกืžื›ื™ื ื’ื“ืœ.

ืื™ืš ืืชื” ื™ื•ื“ืข ืฉื”ื›ืจื˜ื™ืก ืฉืืชื” ืฆืจื™ืš ืขื‘ืจ ืื™ื ื“ืงืก?

โ€ข ืจืืฉื™ืช, ืขืœื™ืš ืœื•ื•ื“ื ืฉืกื•ื’ ื”ื›ืจื˜ื™ืก ื‘-Docsvision ืชื•ืื ืœื ืชื•ื ื™ื ืฉืฆื•ื™ื ื• ื‘ื”ื’ื“ืจื•ืช Elascticsearch.
โ€ข ืฉื ื™ืช, ื”ืžืชืŸ ืขื“ ืฉืžืขืจืš ื”ื›ืจื˜ื™ืกื™ื ื™ื•ื›ื ืก ืœืื™ื ื“ืงืก - ื›ืฉื”ื•ื ื ื›ื ืก ืœ-Docsvision, ืฆืจื™ืš ืœืขื‘ื•ืจ ื–ืžืŸ ืžื” ืขื“ ืฉื”ื ืชื•ื ื™ื ื™ื•ืคื™ืขื• ื‘ืื—ืกื•ืŸ.
โ€ข ืฉืœื™ืฉื™ืช, ืืชื” ื™ื›ื•ืœ ืœื—ืคืฉ ื›ืจื˜ื™ืก ืœืคื™ CardID. ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช ืขื ื”ื‘ืงืฉื” ื”ื‘ืื”:

http://localhost:9200/_search?q=_id=2116C498-9D34-44C9-99B0-CE89465637C9

ืื ื”ื›ืจื˜ื™ืก ื ืžืฆื ื‘ืื—ืกื•ืŸ, ื ืจืื” ืืช ื”ื ืชื•ื ื™ื ื”"ื’ื•ืœืžื™ื™ื" ืฉืœื•; ืื ืœื, ื ืจืื” ืžืฉื”ื• ื›ื–ื”:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ื—ื™ืคื•ืฉ ื›ืจื˜ื™ืก ื‘ืฆื•ืžืช Elasticsearch

ืžืฆื ืžืกืžืš ืœืคื™ ื”ืชืืžื” ืžื“ื•ื™ืงืช ืฉืœ ืฉื“ื” ื”ืชื™ืื•ืจ:
http://localhost:9200/_search?q=description: ะ˜ัั…ะพะดัั‰ะธะน tv1
ืชื•ืฆืื”:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ื—ืคืฉ ืžืกืžืš ืขื ื”ืขืจืš 'ื ื›ื ืก' ื‘ืชื™ืื•ืจ ืฉืœื•
http://localhost:9200/_search?q=description like ะ’ั…ะพะดัั‰ะธะน
ืชื•ืฆืื”:
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ื—ืคืฉ ื›ืจื˜ื™ืก ืœืคื™ ืชื•ื›ืŸ ื”ืงื•ื‘ืฅ ื”ืžืฆื•ืจืฃ
http://localhost:9200/_search?q=content like โ€˜AGILEโ€™
ื”ืชื•ืฆืื”
ื”ื™ื›ืจื•ืช ืขื Elasticsearch ืฆืขื“ ืื—ืจ ืฆืขื“

ื‘ื•ืื• ืœืžืฆื•ื ืืช ื›ืœ ื”ื›ืจื˜ื™ืกื™ื ืžืกื•ื’ ื”ืžืกืžืš:
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

ื–ื” ื™ืฆื™ื’ ืืช ื›ืœ ื”ื›ืจื˜ื™ืกื™ื ืžืกื•ื’ ื”ืžืฉื™ืžื”, ื‘ื™ืŸ ืžืฉืชืžืฉื™ื ืฉื”ืฉื ื”ืคืจื˜ื™ ืฉืœื”ื = ืงื•ื ืกื˜ื ื˜ื™ืŸ, ื•ืฉื ืžืฆืื™ื ื‘ืžืฉืจื“ ืื•ืจืืœ.
ืžืœื‘ื“ LIKE ื™ืฉื ื ืคืจืžื˜ืจื™ื ืžืชื•ืขื“ื™ื ื ื•ืกืคื™ื:
ืฉืœื ื›ืžื•, ืฉื“ื•ืช, ืžืกืžื›ื™ื, ืชื•ื›ืŸ ื•ื›ื•'.
ื›ื•ืœื ืžืชื•ืืจื™ื ื›ืืŸ.

ื–ื” ื”ื›ืœ ืœื”ื™ื•ื!

#docsvision #docsvisionECM

ืงื™ืฉื•ืจื™ื ืฉื™ืžื•ืฉื™ื™ื:

  1. ืœืงื•ื— ืžื ื•ื—ื” ื ื“ื•ื“ื™ ืฉื™ื ื” https://insomnia.rest/download/#windows
  2. https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-get.html
  3. https://www.elastic.co/guide/en/elasticsearch/reference/1.4/_exploring_your_data.html
  4. https://stackoverflow.com/questions/50278255/elasticsearch-backup-on-windows-and-restore-on-linux
  5. https://z0z0.me/how-to-create-snapshot-and-restore-snapshot-with-elasticsearch/
  6. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html#_document_input_parameters
  7. http://qaru.site/questions/15663281/elasticsearch-backup-on-windows-and-restore-on-linux

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”