1、http端口默认为9200,tcp端口默认为9300,默认情况下elastic只允许本地访问,开启远程访问需设置elasticsearch.yml中的network.host;
2、复制副本只有在集群状态为green才可用,如果集群状态为red,则将会有些数据无法访问;
3、索引文档,使用put请求并制定唯一ID,请求体使用json格式的key-value格式即可,若索引中无记录则新增,存在则更新;
4、文档批量索引要比单个索引快很多,不过这也取决于文档的大小及复杂程度,索引及搜索的负载以及系统可用的资源;
$ curl-H"Content-Type: application/json"-XPOST"http://127.0.0.1:9200/bank/_bulk?pretty&refresh"--data-binary"@accounts.json"
5、默认查询仅返回前10条记录,若想指定返回条数,指定参数from和size;
GET /bank/_search { "query": { "match_all": {} }, "sort": [ { "account_number": { "order": "desc" } } ], "from": 0, "size": 20}
6、若想查询指定的字典值,可以使用match语句,指定单个单词;若想查询词组的话,可以使用match_phase;若想构造更复杂的查询的话,可以使用bool查询,其中可以指定必须满足条件(must match),可满足条件(should match),必须不满足(must not match);
7、must/should/must_not在bool查询中作为查询子句,其中must或should查询子句会贡献文档查询相关分数,而must_not只作为查询过滤条件,不参与文档分数评估;除此之外,bool查询中还可以直接使用过滤器查询;
8、聚合函数可以组合成更复杂的查询语句,实现更复杂的统计功能;
9、可以使用terms聚合的内嵌聚合结果进行排序来取代针对结果的sort排序;
10、Es启动时可以指定以守护进程启动并记录pid,同时也可在启动时指定环境参数;
$ ./bin/elasticsearch -d-p pidfile $ ./bin/elasticsearch -d-Ecluster.name=my_cluster -Enode.name=node_1
11、Es中配置的三个位置:elasticsearch.yml、jvm.options、log4j2.properties;
12、Es关键配置参数:
1)、path.data和path.logs
2)、cluster.name
3)、node.name
4)、network.host
13、线程池:Es针对不同的操作使用多种线程池进行处理;