如何在ElasticSearch上创建自动索引?

时间:2014-06-12 21:01:22

标签: indexing elasticsearch

如何在ElasticSearch上创建自动索引?

就像wordpress一样?请参阅:http://gibrown.wordpress.com/2014/02/06/scaling-elasticsearch-part-2-indexing/

  

在我们的案例中,我们为每1000万个博客创建一个索引,每个索引有25个分片。

有什么亮点吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用您喜欢的任何脚本语言来执行此操作。首先运行查询,获取索引中文档数的计数。如果它超过一定数量,您可以通过Elasticsearch API或卷曲创建一个新的。

以下是查找文档数量的查询:

curl --XGET 'http://localhost:9200/youroldindex/_count'

这是索引创建卷曲:

curl -XPUT 'http://localhost:9200/yournewindex/' -d '{
    "settings" : {
        "number_of_shards" : 25,
        "number_of_replicas" : 2
    }
}'

您可能还想创建别名,以便您的代码始终指向单个索引别名,然后在更改热索引时更改别名:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-aliases.html

您可能也希望预定义映射:

curl -XPUT 'http://localhost:9200/yournewindex/yournewmapping/_mapping' -d '
{
    "document" : {
        "properties" : {
            "message" : {"type" : "string", "store" : true }
        }
    }
}
'

Elasticsearch有相当完整的文档,有几个好看的地方:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping.html http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html