zoukankan      html  css  js  c++  java
  • 关键概念理解---未完待续

    默认情况下,每个主分片都有一个副本,但可以在现有索引上动态更改副本数。 永远不会在与其主分片相同的节点上启动副本分片。

    分片分布计算公式:shard_num = hash(_routing) % num_primary_shards
    _routing是文档的_id

    写入到Elasticsearch的文档,在默认的情况下并不马上可以进行搜索。这是因为在Elasticsearch的设计中,有一个叫做refresh的操作。它可以帮在Lucene里的离散的Segments进行合并,并使新进入的文档变为搜索可见。通常会有一个refreshtimer来定时完成这个操作。这个周期为1秒。这也是我们通常所说的Elasticsearch可以实现秒级的搜索。当然这个timer的周期也可以在索引的设置中进行配置。如果我们想让我们的结果马上可以对搜索可见,我们可以用如下的方法:

    PUT twitter/_doc/1?refresh=true
    {
        "user": "GB",
        "uid": 1,
        "city": "Beijing",
        "province": "Beijing",
        "country": "China"
    }
    

    上面的方式可以强制使Elasticsearch进行refresh的操作,当然这个是有代价的。频繁的进行这种操作,可以使我们的Elasticsearch变得非常慢。另外一种方式是通过设置refresh=wait_for。这样相当于一个同步的操作,它等待下一个refresh周期发生完后,才返回。这样可以确保我们在调用上面的接口后,马上可以搜索到我们刚才录入的文档:

    PUT twitter/_doc/1?refresh=wait_for
    {
        "user": "GB",
        "uid": 1,
        "city": "Beijing",
        "province": "Beijing",
        "country": "China"
    }
    

    开启/关闭索引
    Elasticsearch支持索引的在线/离线模式。 使用脱机模式时,在群集上几乎没有任何开销地维护数据。 关闭索引后,将阻止读/写操作。当您希望索引重新联机时,只需打开它即可。 但是,关闭索引会占用大量磁盘空间。 您可以通过将cluster.indices.close.enable的默认值从true更改为false来禁用关闭索引功能,以避免发生意外。

    # 关闭索引
    PUT twitter/_close
    
    # 关闭索引后再查询这个索引的话会报错:index_closed_exception
    # 开启索引
    PUT twitter/_open
    
  • 相关阅读:
    html之marquee详解
    委托delegate
    sql server 循环
    数据库可疑
    WP8数据存储--独立存储文件
    WP8数据存储--独立存储设置
    jQuery Mobile 自定义导航条图标
    JQuery Mobile 图片布局
    自定义jQuery Mobile工具栏按钮
    css透明度的设置 (兼容所有浏览器)
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/12079049.html
Copyright © 2011-2022 走看看