核心内容摘要
冥想第一千七百九十七天(1797)
ES介�
是什么?Elasticsearch(ES)是一个开æº�çš„ã€�分布å¼�çš„æ�œç´¢ä¸�分æ��引æ“�。基äº�Apache Luceneæ�„建,但æ��供了分布å¼�ã€�RESTful APIã€�高å�¯ç”¨ç‰ä¼�业级能力。使用Java 编写,天然支æŒ�跨平å�°ã€‚✅ æ ¸å¿ƒå®šä½�:快速å˜å‚¨ã€�æ�œç´¢å’Œåˆ†æ��大é‡�æ•°æ�®ã€‚Elasticsearch = 分布å¼� + è¿‘å®�æ—¶ + 全文æ�œç´¢ + è�šå�ˆåˆ†æ�� + JSON 文档å˜å‚¨
æ ¸å¿ƒç‰¹æ€§ç‰¹æ€§è¯´æ˜�ğŸ”�全文检索支æŒ�å¤�æ�‚文本查询ã€�相关性打分ã€�高亮显示⚡近å®�时(NRT)文档写入å��默认1 秒内å�¯è¢«æ�œç´¢ğŸŒ�分布å¼� 水平扩展数æ�®è‡ªåŠ¨åˆ†ç‰‡ï¼ˆshard),å�¯éƒ¨ç½²åœ¨æˆ�百上å�ƒèŠ‚ç‚¹ğŸ›¡ï¸�高å�¯ç”¨å‰¯æœ¬æœºåˆ¶ï¼ˆreplica)ä¿�障数æ�®ä¸�丢失ã€�æœ�务ä¸�䏿–📦JSON 文档å˜å‚¨æ— schema é™�制(但æ�¨è��定义 mapping)📊è�šå�ˆåˆ†æ��支æŒ�统计ã€�分组ã€�直方图ã€�地ç�†ç©ºé—´åˆ†æ��ç‰ğŸŒ�RESTful API所有æ“�作通过 HTTP + JSON 完æˆ�,易äº�集æˆ�
å…¸å�‹åº”用场景ES 把数æ�®åˆ‡æˆ�多份(分片),分散å˜åˆ°ä¸�å�Œæœºå™¨ä¸Šï¼Œå¹¶ä¸ºæ–‡æœ¬å»ºç«‹â€œå€’æ�’索引â€�ï¼Œè®©ä½ èƒ½å¿«é€Ÿå…¨æ–‡æ�œç´¢å’Œå®�时分æ��。ğŸ”�站内æ�œç´¢ï¼šç”µå•†å•†å“�ã€�æ–‡ç« ã€�用户内容æ�œç´¢ğŸ“�日志分æ��:系统日志ã€�åº”ç”¨æ—¥å¿—é›†ä¸æ”¶é›†ä¸�æ�’查(ELK Stackï¼‰ğŸ“ˆæŒ‡æ ‡ç›‘æ�§ï¼šæœ�务器性能ã€�ä¸šåŠ¡æŒ‡æ ‡å®�æ—¶å�¯è§†åŒ–🛡ï¸�安全信æ�¯ä¸�事件管ç�†ï¼ˆSIEM):异常登录ã€�攻击行为分æ��💡æ�¨è��/相似匹é…�:基äº�å†…å®¹æˆ–è¡Œä¸ºçš„â€œçŒœä½ å–œæ¬¢â€�
ES安装
下载安装官方网å�€ï¼šhttps://www.elastic.co/cn/products/elasticsearchbin:脚本目录,包括:å�¯åЍã€�å�œæ¢ç‰å�¯æ‰§è¡Œè„šæœ¬ config:é…�置文件目录 dataï¼šç´¢å¼•ç›®å½•ï¼Œå˜æ”¾ç´¢å¼•文件的地方 logs:日志目录 modules:模å�—目录,包括了es的功能模å�— plugins :æ�’件目录,es支æŒ�æ�’件机制安装æˆ�功å��ç›´æ�¥åœ¨bin目录下,å�Œå‡»æ‰“å¼€elasticsearch.batç„¶å��在æµ�览器访问9201端å�£ï¼Œèƒ½è�·å�–到相关信æ�¯çš„jsonæ•°æ�®
�置文件三个�置文件elasticsearch.yml : 用��置Elasticsearch�行�数jvm.options : 用��置Elasticsearch JVM设置log4j
properties: 用äº�é…�ç½®Elasticsearch日志é…�置文件作用修改å��是å�¦éœ€é‡�å�¯elasticsearch.yml集群ã€�网络ã€�å˜å‚¨ç‰æ ¸å¿ƒå�‚数✅ 需è¦�jvm.optionsJVM 内å˜ã€�GCã€�性能调优✅ 需è¦�log4j
properties日志级别ã€�æ ¼å¼�ã€�输出方å¼�â�Œä¸�需è¦�(ES 支æŒ�çƒåŠ è½½æ—¥å¿—é…�置)生产部署å‰�åŠ¡å¿…æ ¹æ�®æœºå™¨èµ„æº�调整jvm.optionså’Œelasticsearch.ymlï¼›ä¸�è¦�盲目å¤�制网上的é…�置,需结å�ˆå®�际场景(数æ�®é‡�ã€�QPSã€�硬件)优化。
主é…�置文件æ�§åˆ¶é›†ç¾¤ã€�节点ã€�网络ã€�æ•°æ�®å˜å‚¨ç‰æ ¸å¿ƒè¡Œä¸ºã€‚# 集群å��称(å�Œä¸€é›†ç¾¤æ‰€æœ‰èŠ‚ç‚¹å¿…é¡»ä¸€è‡´ï¼‰ cluster.name: xinSearch ​ # 节点å��ç§°ï¼ˆå”¯ä¸€æ ‡è¯†ï¼‰ node.name: xin_node_1 ​ # 监å�¬åœ°å�€ï¼š
0.
0.
0 �许外部访问(开�用,生产建议内网 IP) network.host:
0.
0.
0 ​ # HTTP 端å�£ï¼ˆREST API,默认 9200) http.port: 9200 ​ # 节点间通信端å�£ï¼ˆé»˜è®¤ 9300) transport.tcp.port: 9300 ​ # 是å�¦å�¯æˆ�为主节点 node.master: true ​ # 是å�¦å˜å‚¨æ•°æ�® node.data: true ​ # 最å°�主节点数(å�•节点设为 1,防脑裂) discovery.zen.minimum_master_nodes: 1 ​ # 是å�¦é”�定内å˜ï¼ˆWindows 建议 false) bootstrap.memory_lock: false ​ # å�Œä¸€æœºå™¨æœ€å¤šè¿�行的数æ�®èŠ‚ç‚¹æ•°ï¼ˆå¼€å�‘多å®�例时调整) node.max_local_storage_nodes: 1 ​ # æ•°æ�®å˜å‚¨è·¯å¾„ path.data: F:\ES\elasticsearch-
6.
1\data ​ # 日志å˜å‚¨è·¯å¾„ path.logs: F:\ES\elasticsearch-
6.
1\logs ​ # �用跨域(�端直� ES 开�时需�) http.cors.enabled: true ​ # �许任�域�跨域(⚠� 仅�开��生产应�制具体域�) http.cors.allow-origin: /.*/⚠� 注�:修改�需�� ES 生效。生产�境��设置network.host:
0.
0.