docker 安装elasticsearch ,kibana。以及问题解决。

我做了一个导航站(域名是挂路灯的全拼gualudeng.com),里面精选了各种影视,动漫,黑科技,实用工具,搞笑有趣的站点,动动大家可爱的小手,点进来看看吧,良心站点。

1.安装ES可能出现的问题

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

直接在docker宿主机上执行(不是容器)然后重启容器
sudo sysctl -w vm.max_map_count=655360

2.常用命令

GET /users/_search #获取users索引的全部数据
PUT /users/_doc/1 
{
    "name":"fang"
    "age":18
} #新增一条数据,如果数据存在则更新文档,并修改版本号。

DELETE /users/_doc/1
通过在更新请求中传递版本号可以实现乐观锁mvcc(更新后面要加_update)
GET /users/_doc/_mget
{
    "ids":[1,2]
}
GET /users/_search?from=1&size=1 
GET /users/_mapping #查看字段映射  
PUT /fang
{
  "mappings": {
    "properties": {
      "name":{
        "type":"text"
      },
      "age":{
        "type":"long"
      }
    }
  }
}

GET _cat/indices?v


{
    "multi_match": {
        "query":    "full text search",
        "fields":   [ "title", "body" ]
    }
}

{ "terms": { "tag": [ "search", "full_text", "nosql" ] }}
{
    "bool": {
        "must":     { "match": { "tweet": "elasticsearch" }},
        "must_not": { "match": { "name":  "mary" }},
        "should":   { "match": { "tweet": "full text" }},
        "filter":   { "range": { "age" : { "gt" : 30 }} }
    }
}

3.elasticsearch 数据类型详解

1.text
    可以被全文索引,并且会被分词。
2.keyword
    可以被全文索引,不会被分词精确搜索。用于等值,排序搜索。
3.整数类型
    byte -128~127 ,short -32768~32767, integer -2^31~2^31-1, long
4.浮点类型
    float double
5.日期类型
    date 可以存格式化的字符串,也可存整形时间戳

4.mapping配置

 "analyzer": "ik"
 ik_max_word:ik 中文分词插件提供,对文本进行最大数量分词
 laravel天下无敌 -> laravel,天下无敌 , 天下 , 无敌
 ik_smart: ik 中文分词插件提供,对文本进行最小数量分词
 laravel天下无敌 -> laravel,天下无敌

5.match multi_match query_string term区别

{
    "query":{
        "match":{
            "name":"fang"
        }
    }
}

{
    "query":{
        "multi_match": {
            "query":                "Quick brown fox",
            "type":                 "best_fields", 
            "fields":               [ "title", "body" ],
            "tie_breaker":          0.3,
            "minimum_should_match": "30%" 
        }
    }
}

{
    "query":{
        "query_string":{
            "query":"fang"  #全部字段查询
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker安装ElasticsearchKibana,可以按照以下步骤进行操作: 1. 首先,确保已经安装Docker。您可以通过在终端或命令提示符中运行以下命令来检查是否已安装: ``` docker --version ``` 如果您看到了Docker的版本号,那么说明您已经安装Docker。 2. 接下来,我们将使用Docker Compose来管理ElasticsearchKibana容器的部署。创建一个名为`docker-compose.yml`的文件,并将以下内容添加到文件中: ```yaml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2 container_name: elasticsearch environment: - discovery.type=single-node ports: - 9200:9200 - 9300:9300 kibana: image: docker.elastic.co/kibana/kibana:7.10.2 container_name: kibana ports: - 5601:5601 depends_on: - elasticsearch ``` 这将创建两个服务:ElasticsearchKibanaElasticsearch服务将在9200和9300端口上暴露,而Kibana服务将在5601端口上暴露。 3. 保存并关闭`docker-compose.yml`文件。然后,在终端或命令提示符中,导航到包含该文件的目录,并运行以下命令来启动ElasticsearchKibana容器: ``` docker-compose up -d ``` 这将使用Docker Compose根据`docker-compose.yml`文件中的配置启动ElasticsearchKibana容器。`-d`选项将容器置于后台运行。 4. 等待一段时间,直到容器成功启动。您可以通过运行以下命令来检查容器的状态: ``` docker-compose ps ``` 如果您看到了elasticsearchkibana容器正在运行,则表示安装成功。 5. 现在,您可以通过浏览器访问Kibana的Web界面,地址为`http://localhost:5601`。在Kibana中,您可以进行各种操作,如索引数据、创建可视化仪表板等。 请注意,以上步骤假设您已经具备基本的Docker和容器管理知识。如果您遇到任何问题,请参考DockerDocker Compose的官方文档以获得更多详细信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值