рдПрд▓рд┐рдпрдЯреЗрд╕рд░реНрдЪ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

рдПрд▓рд┐рдпрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ рд╕рдВрднрд╡рддрдГ рдПрдХ рд╡рд┐рдХрд╕рд┐рдд рд╕рдореБрджрд╛рдп, рд╕рдорд░реНрдерди рдФрд░ рд╡реЗрдм рдкрд░ рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рдкрд╣рд╛рдбрд╝ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдЦреЛрдЬ рдЗрдВрдЬрди рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЕрд╕рдВрдЧрдд рдФрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЖрддреА рд╣реИред


рдмрд╣реБрдд рдкрд╣рд▓реЗ рдФрд░ рдореБрдЦреНрдп рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рд╣реИ "рдЖрдкрдХреЛ рдПрдХ рдЦреЛрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рд▓реЛрдЪрджрд╛рд░ рд▓реЗрдВ!"ред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЫреЛрдЯреА рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рдЦреЛрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╡рд┐рд╖рдп рдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЖрдк рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджреЗрдВрдЧреЗред


рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╢реБрд░реБрдЖрдд рд╕реЗ рд╣реА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ рдХрд┐ рдмрдбрд╝реА рддрд╕реНрд╡реАрд░ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╣рд╛рдБ, рдереЛрдХ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрдзреНрдпрдпрди рдореЗрдВ рдЕрдиреБрдХреНрд░рдо рдкреВрд░реНрд╡ рдкреЛрд╕реНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЛ рдкреБрд╕реНрддрдХреЛрдВ рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рддрдХ рдЪрд▓рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рд╕реЗ рдкреБрд╕реНрддрдХреЛрдВ рддрдХ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛, рдЙрд╕реА рд╕рдордп рдЧреБрдЧрд▓реА рд╕реВрдХреНрд╖реНрдорддрд╛рдУрдВ рдореЗрдВ, рдХреЗрд╡рд▓ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдПрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕рд░реНрдЪ рдХреНрдпрд╛ рд╣реИ, рдпрд╣ рдЙрд╕ рддрд░рд╣ рд╕реЗ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд╕рд░рд▓ рдЪреБрдирдирд╛ рд╣реИред


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рд▓рдЧрд╛рддрд╛рд░ рдпрд╣ рдмрддрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдПрд▓рд┐рдЯрд┐рдХреНрд╕ рдЦреЛрдЬ рдореЗрдВ рдореБрдЭреЗ рдХреНрдпрд╛ рдореБрдЦреНрдп рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░реЗрдВрдЧреЗред рд╕рднреА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдореВрд╣рд┐рдХ рдмреНрд▓реЙрдЧ рдореЗрдВ рдЦреЛрдЬ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЛ рдЯреИрдЧ, рд╕рдореБрджрд╛рдп, рдЬреНрдпрд╛рдорд┐рддрд┐ рдФрд░ рдЕрдиреНрдп рд╕рднреА рдЪреАрдЬреЗрдВ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рднрд╛рд░реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред


рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдпреЛрдЬрдирд╛


рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╣рдо рдЬреЛ рдХрд╛рд░реНрдп рдХрд░реЗрдВрдЧреЗ, рд╡рд╣ рд╕рдВрдЧреНрд░рд╣рдг рдпреЛрдЬрдирд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛:


  • рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЦреЛрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
  • рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдФрд░ рд╡рд┐рд▓реЛрдкрди рдХреЛ рдЙрдЪреНрдЪ рдЧрддрд┐ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЦреЛрдЬ рдЗрдВрдЬрди рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкреЗрдХреНрд╖рд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рддреАрд╡реНрд░рддрд╛ рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рднрдВрдбрд╛рд░рдг рдХреЛ рдХрдИ рд╕реНрд╡рддрдВрддреНрд░ рд╕реНрд░реЛрддреЛрдВ (рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕) рд╕реЗ рднрд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

. , , , , , , . . . , .


? . - . .


, . .



{
    "title" : "   Elasticsearch",
    "author" : {
        "name": "Roman"
    },
    "content" : "Elasticsearch, ,    ...",
    "tags":[
        "elasticsearch"
    ],
    "ps": ",      JSON, BSON  XML"
}

, , , .


, , , . .


Elasticsearch


. . ?


-. , . .


, , , . .


. .


? , , , ( ) .



, , , . , , . , .


тАФ , . , , , .



.


тАФ open-source , , , Apache Lucene.


Elasticsearch Lucene


, , . , , , . .


тАФ . , , . .


тАФ . , , . , ?


, . ? - , . - тАФ , , . , , .


, , . , тАФ ( ), . тАФ .



, Lucene. , . , ? . Lucene , (shard) . .



Shard Elasticsearch тАФ , Lucene.

Index тАФ , . , .

.
ElasticsearchSQLMongoDB
IndexDatabaseDatabase
Mapping/TypeTableCollection
FieldColumnField
Object(JSON)TupleObject(BSON)


. . , . ! Elasticsearch . , , . . , .

5, index.number_of_shards: 1 .
PUT _template/all
{
  "template": "*",
      "settings": {
        "number_of_shards": 1
      }
}


. .

232 4294967296 , , . , , . , .

. Elasticsearch , . , 10 .


. , .


, Lucene(). , , , . тАФ .


тАФ CRUD- . data node coordinating node. .



Elasticsearch (node). Cluster тАФ . .

:
  • cluster.name


elasticsearch.yml . , .

, http.port, 9200 9300 . , .

. , data- .


, . "" . . , , 2007 .


6.7 Elasticsearch . тАФ hot, warm cold.

. hot- SSD, warm cold HDD-. / :
  • hot тАФ 1:30
  • warm тАФ 1:100
  • cold тАФ 1:500


data node node.data: true, , .

. , MapReduce. :


  • Map тАФ ,
  • Reduce тАФ worker-


. , worker-( data-).


, coordinating- , , , .


, . . .


, .


Elasticsearch . , coordinating-, . , , false.


тАФ coordinating-. , / . , .


, coordinating- . data-, . , .


. , , . " " .


master-node. , : , , . .


Elasticsearch master node. node.master: true.

Master- , . , . 10 only-master .


, . , . , , .


data-, .


. , . , , .



number_of_replicas. :
PUT / _settings {
  "index": {
      "number_of_replicas": someVal
  }
}

.


primary shard, replica shard, .


, , flush commit Lucene, .



Elasticsearch cluster health status. :
  • green тАФ
  • yellow тАФ , ,
  • red тАФ ,

, - .



. ? .


тАФ .


, , , , ? ? , .


.


Elasticsearch node.master: true , , , . :
  • node.master: true
  • node.data: true

. , . , . - , . split-brain problem.



. . , .


. . . , -.


. - , .



, ? ? ? ?


. .


, , 50%+ . , . .


, . :
_ = __/2 + 1


, . , , .


Elasticsearch , : node.voting_only: true.

Elasticsearch . . , 7 4, , 3 , 4.

, , , , , .



, , . , . .


HTTP, . HTTP . HTTP API , ES, . . JSON., . .
ES Native. , .JVM. ES. . .

Elsaticsearch .


, . тАФ Elasticsearch , .


рдореИрдВрдиреЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдФрд░ рд▓рдЧрд╛рддрд╛рд░ рдмрд╛рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░, рдкреНрд▓рдЧрдЗрдиреНрд╕, рдкреНрд░рд╢реНрдиреЛрдВ, рдЯреЛрдХрди, рдореИрдкрд┐рдВрдЧ рдФрд░ рдмрд╛рдХреА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрдирд╕реЗрд╕реНрдЯ рдФрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдиреЛрдбреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдирд╣реАрдВ рдХрд╣рд╛, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╡реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдирд╣реАрдВ рд╣реИрдВред


рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА


рд▓реЛрдЪрджрд╛рд░ рдвреЗрд░ рдФрд░ рдЙрддреНрдкрд╛рдж рдкреНрд░рд▓реЗрдЦрди


рдЖрдХрд╛рд░ рджреЗрдиреЗ рдПрд▓рд┐рдЯрд┐рдХреНрд╕


рдПрд▓рд┐рдЯрд┐рдХреНрд╕ рдЦреЛрдЬ 5.x рдХреБрдХрдмреБрдХ, рддреАрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг


All Articles