
æçµçã«ãElasticsearchã¢ãã¿ãªã³ã°æ©èœããããªãã¯ãªãªãŒã¹ã«è¿œå ããŸããã çµæãç§ãã¡ã«åãããESã¯ã©ã¹ã¿ãŒã§ããéããåé¡ã衚瀺ãããªãã£ããããåèšã§3ååç·šéããŸããã
ã«ããã®äžã§ãç©èªã¯ç§ãã¡ã®çç£ã¯ã©ã¹ã¿ãŒãç§ãã¡ã®åé¡ããããŠæ°ããESã¢ãã¿ãªã³ã°ã«ã€ããŠã§ãã
ãšã©ã¹ãã£ãã¯ã®ã¹ãŒããŒã·ã§ãŒãã³ãŒã¹
Elasticsearchã¯ãApache Luceneã©ã€ãã©ãªã®äžã«æ§ç¯ãããã忣åã®èªå·±æ¡åŒµå¯èœãªRESTfulå
šææ€çŽ¢ãµãŒãã¹ã§ãã
ESã®çšèªïŒ
- ããŒãïŒããŒãïŒ -ãããµãŒããŒã§å®è¡ãããŠããJVMããã»ã¹
- ã€ã³ããã¯ã¹ïŒã€ã³ããã¯ã¹ïŒ -æ€çŽ¢ããããã¥ã¡ã³ãã®ã»ãããã€ã³ããã¯ã¹ã«ã¯ãããã€ãã®çš®é¡ã®ããã¥ã¡ã³ãããããŸãã
- ã·ã£ãŒã -ã€ã³ããã¯ã¹ã®äžéšã ã€ã³ããã¯ã¹ã¯è€æ°ã®éšåã«åå²ããããµãŒããŒéã§ã€ã³ããã¯ã¹ãšãã®ãªã¯ãšã¹ãã忣ããŸã
- ã¬ããªã«ã¯ã·ã£ãŒãã®ã³ããŒã§ãã ã€ã³ããã¯ã¹ã®åéšåã¯ããã©ãŒã«ããã¬ã©ã³ã¹ã®ããã«ç°ãªããµãŒããŒã®è€æ°ã®ã³ããŒã«æ ŒçŽãããŸãã
å
éšã§ã¯ãåã·ã£ãŒãã¯ã€ã³ããã¯ã¹ã§ããããã§ã«Luceneã®çšèªã§ã¯ãã»ã°ã¡ã³ãã«åå²ãããŠããŸãã
ESã®äœ¿ç𿹿³
okmeter.ioã®ãã¹ãŠã®ã¡ããªãã¯ã«ã¯ã©ãã«ããããŸããã€ãŸããã·ã¹ãã ã®ã¡ããªãã¯èå¥åã¯ããŒå€èŸæžã§ããæ¬¡ã«äŸã瀺ããŸãã
{name: net.interface.bytes.in, site: okmeter, source_hostname: es103, plugin: net, interface: eth1}
{name: process.cpu.user, site: okmeter, source_hostname: es103, plugin: process_info, process: /usr/bin/java, username: elasticsearch, container: ~host}
{name: elasticsearch.shards.count, site: okmeter, source_hostname: es103, plugin: elasticsearch, cluster: okmeter-ovh, index: monthly-metadata-2016-10, shard_state: active, shard_type: primary}
ãã®ãããªåã¡ããªãã¯èå¥åãã£ã¯ã·ã§ããªã¯ãESã®ããã¥ã¡ã³ãã§ãã ããšãã°ããã®ãããªã¹ã±ãžã¥ãŒã«ãäœæããã«ã¯

ESã§ãã®ïŒéåžžã«åçŽåãããïŒã¯ãšãªãæ€çŽ¢ããŸã
site:okmeter AND name:elasticsearch.index.size
cassandraããã¡ããªãã¯ã®å€ãååŸããã¡ããªãã¯ã®id
è¿ããŸãã
ã¯ã©ã¹ã¿ãŒã®ç¶æ
ESèªäœã¯ ãã¯ã©ã¹ã¿ãŒã次ã®3ã€ã®ç¶æ
ã«ãªãå¯èœæ§ããããšèããŠããŸãã
- ç·-åã€ã³ããã¯ã¹ã®åã·ã£ãŒãã®å¿
èŠãªã³ããŒæ°ãå©çšå¯èœã§ã
- é»è²-ã·ã£ãŒãã®äžéšã®ã³ããŒã¯ç§»è¡ç¶æ
ã«ããããããŒãã«æ¥ç¶ãããŠããŸãã
- èµ€-ã€ã³ããã¯ã¹ã®äžéšããŸã£ããå©çšã§ããŸãã
åãæ¡ä»¶ã«åºã¥ããŠéžæããæšæºESããã·ã¥ããŒãã®ã¡ã€ã³ãã£ãŒãïŒ

ãã®æ¥ã«ã€ããŠã話ããŸãã 忥ããã匷åãªãµãŒããŒãã¯ã©ã¹ã¿ãŒã«è¿œå ããŸãããã2ã€ã®å€ãããŒããåé€ããå¿
èŠããããŸããã ååŸ2æãããã¢ã€ãã¢ãæµ®ãã³ãŸããããæŒç¿ãè¡ãå¿
èŠããããŸããïŒ ç§ãã¡ã¯è°è«ããå®éšããããšãå¯èœã§ãããšæ±ºå®ããŸãã-1ã€ã®ããŒãããªãã«ããŠããã®ãããªåŒŸæ§åŒŸæ§ãã©ã®ããã«æ©èœããããèŠãŠãã ããã
圌ãã¯ããããªãã«ããããã«ç£èŠãåé¡ã®ã¡ããªãã¯ã³ã¬ã¯ã¿ãŒãå«ãã ã ãªãïŒ
圌ãã¯ããŒããè¿ããå°ãåŸ
ã£ãŠããã¹ãŠãããŸããããŸããã å¥åŠãªããšã«ãããã€ãã®ãšã©ã¹ãã£ãã¯ã®1ã€ãã·ã£ããããŠã³ããããã«æšªã«ãªãããšã¯ããããŸããã ããããäœãä»ã®ãã®...
圌ãã¯ååŸ2æ30åé ã«åã³ããŒãããªãã«ããŸãã-åã³ã¢ã©ãŒããåºããŸããã ããŒãã æãã¯ã1ã€ã®åŒŸæ§äœã®èœäžãç§ãã¡ãå·ã€ããããšã瀺ããŸãã-ãããçµæã§ãããç§ãã¡ã¯ãããçè§£ããå¿
èŠããããŸãã
圌ãã¯äžçš®ã®å»æ¢æªçœ®ãè¡ããŸãããã¯ã©ã¹ã¿ãŒã®1ã€ã«ããŒããæ³šææ·±ã衚瀺ããŸããã 15:10ã®ã°ã©ãã®éè²ã¯ãç Žçãä»ã®ããŒãã«ç§»åããããšã§ãã åé¡ã¯ãããŸããã§ããã
ã·ã£ãŒãã®æ°ãèŠãŠã¿ããšïŒ140-å¥åŠãªããšã«ã20åã®number_of_shards ã2åã®number_of_replicas ãããã³å¥ã®ãã¹ã¿ãŒã³ããŒãã€ãŸã ã€ã³ããã¯ã¹ããšã«60åã®ã·ã£ãŒããå¿
èŠã§ãã ã€ã³ããã¯ã¹3-æ¯æç¬èªã®ãã®ãã€ãŸããã·ã£ãŒãã¯180åã ãã§ãã 12æã®ã€ã³ããã¯ã¹ã¯number_of_replicas -0ã§äœæãããããšãããããŸãã ã ã¬ããªã«ããªããããããŒãããªãã«ãããšããã®ã€ã³ããã¯ã¹ã§ã®äœæ¥ãå®å
šã«äžæãããŸãã
å¶åŸ¡ãããå®éšã§ã¬ããªã«ããªãããšãããã£ãã®ã¯è¯ãããšã§ãã ããã«æ°ä»ããªãã£ãå Žåãå°æ¥å€§ããªåé¡ãçºçããå¯èœæ§ããããŸããã¡ã€ã³ã¹ãã¬ãŒãžã®ããŒã¿ã䜿çšããŠå®å
šãªã€ã³ããã¯ã¹ã®åäœæãè¡ãå¿
èŠããããŸãã
å°æ¥ãã®åé¡ã確èªããããã«ãã€ã³ããã¯ã¹ã«ã¬ããªã«ã0åãããã©ãããéç¥ããèªåããªã¬ãŒãäœæããŸããã ãã®ããªã¬ãŒã¯äžåºŠã«ãã¹ãŠã®ã¯ã©ã€ã¢ã³ãã®èªåããªã¬ãŒãšããŠãªãªãŒã¹ãããŸãããç§ãã¡ã¯ç£èŠãµãŒãã¹ã§ã:)
ã¹ããªãããã¬ã€ã³
ãšã©ã¹ãã£ãã¯ã§æãæãããããç¥ãããŠããåé¡ã¯ããããã¯ãŒã¯äžã®ããŒãã®æ¥ç¶æ§ã®åé¡ã®ããããŸãã¯ããŒããé·æéå¿çããªãã£ãå ŽåïŒããšãã°ãGCã§ã¹ã¿ãã¯ããŠããããïŒãã¯ã©ã¹ã¿ã«2çªç®ã®ãã¹ã¿ãŒããŒãã衚瀺ãããå Žåãããã¹ããªãããã¬ã€ã³ã§ãã
ãã®å Žåã2ã€ã®ããŒãžã§ã³ã®ã€ã³ããã¯ã¹ããããäžéšã®ããã¥ã¡ã³ãã¯ã¯ã©ã¹ã¿ãŒã®äžéšã§ã€ã³ããã¯ã¹ä»ããããä»ã®ããã¥ã¡ã³ãã¯ä»ã®éšåã§ã€ã³ããã¯ã¹ä»ããããŸãã æ€çŽ¢äžã«ççŸã衚瀺ãããŸã-åããªã¯ãšã¹ãã«å¯ŸããŠç°ãªãçµæãè¿ãããŸãã ãã®å Žåãã€ã³ããã¯ã¹ã埩å
ããã®ã¯é£ããäœæ¥ã§ãããã»ãšãã©ã®å Žåãå®å
šãªã€ã³ããã¯ã¹ã®åäœæããŸãã¯ããã¯ã¢ããããã®å埩ãšããã®åŸã®çŸåšã®ç¬éã®å€æŽã®ãããã³ã°ãå¿
èŠã«ãªããŸãã
ESã«ã¯ã¹ããªãããã¬ã€ã³ä¿è·ã¡ã«ããºã ããããæãéèŠãªèšå®ã¯minimum_master_nodesã§ãããããã©ã«ãã§ã¯discovery.zen.minimum_master_nodesïŒ1 ãã€ãŸã ä¿è·ã¯ãããŸããã
ElasticSearchãã¹ãã¯ã©ã¹ã¿ãŒã§ãããåçŸããçµæã«åºã¥ããŠ2ã€ã®èªåããªã¬ãŒãäœæããŸããïŒã¯ã©ã¹ã¿ãŒå
ã«è€æ°ã®ãã¹ã¿ãŒããŒããèŠã€ãã£ãå Žå㯠1ã€ãåäœãã discovery.zen.minimum_master_nodesãæšå¥šã¯ã©ãŒã©ã ïŒN / 2 + 1ïŒçŸåšã®ã¯ã©ã¹ã¿ãŒãµã€ãºããã ããŒãã®è¿œå ãæ±ºå®ãã minimum_master_nodesã®ä¿®æ£ãå¿ããããšãããããããããç£èŠããå¿
èŠããããŸãã
ãšã©ã¹ãã£ãã¯ã§ãªã¯ãšã¹ããç£èŠãã
ã¯ã©ã¹ã¿ãŒã®ç¶æ
ãææ¡ããåŸãã¯ã©ã¹ã¿ãŒãåŠçãããªã¯ãšã¹ãã®æ°ãšããããåŠçããé床ãçè§£ããå¿
èŠããããŸãã

ESã®æ€çŽ¢ã¯ãããããã20åã®ã·ã£ãŒãã«åå²ãããŠãã3ã€ã®ã€ã³ããã¯ã¹ã«ãã£ãŠäžåºŠã«è¡ãããŸãã ãã®ãããESã®ã³ãŒãããã®æåã®ã250ã®æ€çŽ¢ã¯ãšãªã¯æ¯ç§ã15,000ã«ãªããŸãã
å®éã«ã¯çŽ200ã®ã€ã³ããã¯ã¹äœæèŠæ±ããããŸãããåã·ã£ãŒãã¯3ã€ã®ã³ããŒïŒã¡ã€ã³+ 2ã€ã®ã¬ããªã«ïŒã«æ ŒçŽãããŠãããããESã¯çŽ600 rpsãèªèããŸãã
ã¯ãšãªæéã«ã€ããŠESã¯ããããªçµ±èšãæäŸããŸããåŠçããããªã¯ãšã¹ãã®ã«ãŠã³ã¿ãŒããããã¿ã€ãããšã®ã¯ãšãªæéã®çޝç©åèšããããŸãã ãããã£ãŠãåã¿ã€ãã®ãªã¯ãšã¹ãã®å¹³åå¿çæéã®ã¿ãèšç®ã§ãããã®ã¿ã€ãã®ã°ã©ããååŸããŸãïŒã°ã©ããæç»ãããšãã«çŽæ¥å¿çæéã®åèšãè峿·±ãã¡ããªãã¯ãªã®ã§ãçŽæ¥å¹³åãèšç®ããŸãïŒïŒ

ãªã¬ã³ãžè²ã®ç·ã¯æ€çŽ¢ã§ãã ããæç¹ã§çŽ3åå éããããšãããããŸãã
ã»ã°ã¡ã³ãã匷å¶çã«ããŒãžããŸãã ã ã€ã³ããã¯ã¹ã¯æ¯æã«ãããããŸãã çŸåšã®æã«åžžã«ïŒã»ãŒïŒã€ã³ããã¯ã¹ãäœæããã3ãæéæ€çŽ¢ãããŸãã åã®æã®ã€ã³ããã¯ã¹ããã®èªã¿åãã®ã¿ã§ãããããè² è·ãããã£ãç¶æ
ã§ã€ã³ããã¯ã¹ã匷å¶çã«ããŒãžããããšãã§ããŸãã

ãã®çµæãåã·ã£ãŒãã«ã¯ã»ã°ã¡ã³ãã1ã€ããæ®ã£ãŠããªãã£ãããããããã®ã€ã³ããã¯ã¹ã®æ€çŽ¢ã¯èããé«éã«ãªããŸããã ãããããç§ãã¡ã¯ã¯ã©ãŠã³ãäœãã¹ãã§ããããã¯ãå
æã®ãã©ãŒã¹ããŒãžã€ã³ããã¯ã¹ãå®è¡ããŸãã
ããã¯ã°ã©ãŠã³ãopsã°ã©ãã£ãã¯
ããã«ããããã¯ã°ã©ãŠã³ããæäœãåå¥ã«å°åºããŸãã-ããã¯ããšã©ã¹ãã£ãã¯ãããã¯ã°ã©ãŠã³ãèªäœã§ããŸãã¯åŒ·å¶ããŒãžã®ããã«èŠæ±ã«å¿ããŠè¡ãããšã§ãã ãããšã¯å¥ã«ãããŠãŒã¶ãŒããªã¯ãšã¹ãããã·ã¹ãã ããšã¯å¥ã«è¡šç€ºããæ¹ãè«ççã§ãããããããªç§ã§ã¯ãªãç§ãšããéåžžã«ç°ãªãã¿ã€ãã³ã°ãããããã1ã€ã®ãã£ãŒããèŠãã®ã¯äžäŸ¿ã§ãã ãŸãããã®ãããªæäœã®æ°ã¯éåžžã«å°ãªãããã¹ãŠã®ãŠãŒã¶ãŒèŠæ±ã®èæ¯ã«å¯ŸããŠå€±ãããå¯èœæ§ããããŸãã
ãã®ã°ã©ãã¯ãç§ãã¡ã«ãšã£ãŠæ€çŽ¢å¿çæéãççž®ãããŸãã«ããŒãžã瀺ããŠããŸãããä»åã¯ESå¿çæéã®åèšãèŠãæ¹ã䟿å©ã§ãïŒã¯ã©ã¹ã¿ãŒã®ã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ãäžè¬çã«è²»ãããããã®ãèŠããããªãã®ã§ãïŒã

Linuxã·ã¹ãã ã¡ããªãã¯ã®èгç¹ã§ã¯ããã®ããŒãžã¯ESããã»ã¹ã«ãããã£ã¹ã¯ãžã®ã¢ã¯ãã£ããªæžã蟌ã¿ã®ããã«èŠããŸããã

ãã£ãã·ã¥
ãšã©ã¹ãã£ãã¯ã§ã¯ãšãªã®å®è¡é床ã確ä¿ããããã«ããã£ãã·ã¥ããããŸãïŒ
- query_cache ïŒä»¥åã¯filter_cacheãšåŒã°ããŠããŸãã ïŒ-èŠæ±å
ã®ç¹å®ã®ãã£ã«ã¿ãŒã«äžèŽãããããã»ãããææžåããŸã
- fielddata_cache-éçŽã«äœ¿çš
- request_cache-ã·ã£ãŒãã¯ãªã¯ãšã¹ãã«å¯Ÿããã¬ã¹ãã³ã¹å
šäœããã£ãã·ã¥ããŸã
ãã£ãã·ã¥ããããã®ããã£ãã·ã¥ãããå Žåãç¡å¹åãããå Žåãèª¿æŽæ¹æ³ã®è©³çްã«ã€ããŠã¯ãããã¥ã¡ã³ããèªãããšããå§ãããŸãã
ç£èŠãšãŒãžã§ã³ãã¯ããµã€ãºãããããããã·ã§ã³ããšãã¯ã·ã§ã³ïŒãšã¯ã¹ãã³ãïŒã®åãã£ãã·ã¥ãåé€ããŸãã
ããã§ã¯ãããšãã°ãã±ãŒã¹ããããŸãã-ç§ãã¡ã®ãšã©ã¹ãã£ãã¯ã¯OutOfMemoryã«ãã£ãŠèœã¡ãŸããã ãã°ãææ¡ããããšã¯å°é£ã§ãããããããæ¢ã«ãããäžããŠãããšããã°ã©ãã§ãã£ãŒã«ãããŒã¿ãã£ãã·ã¥ã®ã¡ã¢ãªäœ¿çšéã®æ¥æ¿ãªå¢å ã«æ°ä»ããŸããã

å®éãelasticsearchéèšã¯äœ¿çšãããéåžžã¯æãåºæ¬çãªæ©èœã®ã¿ã䜿çšããŸãã ã¹ã³ã¢ãªã³ã°ããã«ãæå®ããããã£ãŒã«ãã«å€ãæå®ãããŠãããã¹ãŠã®ããã¥ã¡ã³ããèŠã€ããå¿
èŠããããŸãã ãã£ãŒã«ãããŒã¿ãã£ãã·ã¥ã®äœ¿çšãããã»ã©å€§ãããªã£ãã®ã¯ãªãã§ããïŒ
ãããå¶åŸ¡ãããå®éšã§ããããšã倿ããŸãã:-) curlã§éãéçŽãªã¯ãšã¹ããæåã§ãã«ãããã¹ãŠãããããæ¥ãŸããã çè«çã«ã¯ãããã¯fielddataã®ã¡ã¢ãªå¶éãæ£ããèšå®ããããšã§ä¿è·ã§ããŸãã ããããããããæ©èœããªãã£ããããšã©ã¹ãã£ãã¯ã®ãã°ã®ããããã§ããïŒãã®åŸãå€ãããŒãžã§ã³1.7ã«åº§ã£ãŠããŸããïŒã
ã·ã¹ãã ææš
ãšã©ã¹ãã£ãã¯ã®å
éšã¡ããªãã¯ã«å ããŠããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ããã»ã¹ãšããŠãäžãããããèŠã䟡å€ããããŸãã CPUæéãã¡ã¢ãªããã£ã¹ã¯ã«è² è·ããããéãæ¶è²»ããŸãã
ããŒãžã§ã³1.7.5ããESã®æŽæ°ãéå§ãããšããããã«2.4ïŒæåŸã®5ã€ãæããŠããéïŒã«ã¢ããã°ã¬ãŒãããããšã«ããŸããã æšæºçãªæé ã«åŸã£ãŠããªãããã®å€§ããªåŒŸåçãªæŽæ°ãè¡ãããšãã§ããŸããéåžžã2çªç®ã®ã¯ã©ã¹ã¿ãŒãäžããŠãã³ãŒããä»ããŠåæã³ããŒãäœæããŸãã
æ°ããã¯ã©ã¹ã¿ãŒãã€ã³ããã¯ã¹ã«å«ãããšãæ°ããESã¯ãã£ã¹ã¯ã«çŽ350å/ç§æžã蟌ã¿ãå€ãã¯ã©ã¹ã¿ãŒã¯çŽ25åæžã蟌ã¿ãŸãïŒ

es101ã¯å€ãã¯ã©ã¹ã¿ãŒã®ããŒãã§ães106ã¯æ°ããã¯ã©ã¹ã¿ãŒã®ããŒãã§ãã ããã«ãSSDãæ°ããããŒãã«é
眮ããªãã£ãããïŒãã¹ãŠãã¡ã¢ãªã«åãŸããšèããŠããããïŒããã®ioã¯ããã©ãŒãã³ã¹ã倧å¹
ã«äœäžãããŸããã
ãšã©ã¹ãã£ãã¯ã®ããŒãžã§ã³2ã®ãã¹ãŠã®ãã¥ãŒã¹ãèªã¿çŽããindex.translog.durabilityãèŠã€ããŸãã ã ããã©ã«ãã§ã¯requestã«ãªãããã®å€ã§ã¯åã€ã³ããã¯ã¹ãªã¯ãšã¹ãã®åŸã«translogããã£ã¹ã¯ã«ã¯ã©ãã·ã¥ããŸãã 5ç§ã§æšæºã®sync_intervalã䜿çšããŠéåæã«å€æŽãããã»ãŒä»¥åã®ããã«ãªããŸããã
ESã®ã·ã¹ãã ã¡ããªãã¯ã«å ããŠãgcãã¡ã¢ãªããŒã«ãªã©ã®JVMã¡ããªãã¯ã確èªãããšäŸ¿å©ã§ãã ãšãŒãžã§ã³ãã¯jmxãä»ããŠãã¹ãŠãèªåçã«ååŸããã°ã©ããèªåçã«è¡šç€ºãããŸãã
ESèªåæ€åº
å°ãåãŸã§ã¯ãã¯ã©ã€ã¢ã³ãã®ãµãŒããŒäžã®ãã¹ãŠã®ãµãŒãã¹ãæ§æãªãã§èªåçã«ç£èŠã«å«ãŸããããã«ããããšã«å€å€§ãªåªåãè²»ãããŠãããšæ¢ã«è¿°ã¹ãŸããã ãã®ã¢ãããŒãã«ãããäœããç£èŠããããšãå¿ããã«å®è£
ã倧å¹
ã«å éã§ããŸãã
ESã®èªåæ€åºã¯æ¬¡ã®ãããªãã®ã§ãã
- ããã»ã¹ã®ãªã¹ããããESã«äŒŒãããã»ã¹ãèŠã€ããïŒjvmã¹ã¿ãŒãã¢ããã¯ã©ã¹org.elasticsearch.bootstrap
- èµ·åã©ã€ã³ã§ESèšå®ãèŠã€ããããšããŸã
- èšå®ãèªã¿ããªãã¹ã³IPãšããŒããçè§£ãã
ããã«ãæè¡çãªåé¡-æšæºAPIã䜿çšããŠå®æçã«ã¡ããªãã¯ãåé€ããã¯ã©ãŠãã«éä¿¡ããŸãã
çµè«ã®ä»£ããã«
ç§ãã¡ã¯åžžã«å®éã®ãŠãŒã¹ã±ãŒã¹ããé²ããããšããŸãã ãµãŒãã¹ã®ç£èŠãåãè©°ããã«ã¯ããµãŒãã¹ã«åŸ¹åºçã«å¯ŸåŠããäœãã©ã®ããã«ç Žå£ãããããçè§£ããå¿
èŠããããŸãã ãããã£ãŠããŸã第äžã«ãç§ãã¡ã¯ãã調çããæ¹æ³ãç¥ã£ãŠãããèªåã§äœ¿çšãããµãŒãã¹ããµããŒãããŸããã
ããã«ãåé¡ã«ã€ããŠè©±ã顧客ã¯éåžžã«åœ¹ç«ã¡ãŸãã ããã·ã¥ããŒã/èªåããªã¬ãŒãçµ¶ãã倿Žããæçµçã«ããã€ãã®ã°ã©ãã§ã¯ãªããããã«åé¡ã®åå ã衚瀺ããŸãã
ç£èŠãããã®ãåŸ
ã£ãŠããESãããå Žåã¯ã2é±éã®ç¡æãã©ã€ã¢ã«ãå¿
èŠã§ãããµã€ããžã®ãªã³ã¯ã¯ããäžã«ãããŸã:)