弹性搜索"设置"添加Python模块

时间:2014-12-02 05:46:05

标签: python search elasticsearch

如何将以下设置添加到python弹性搜索模块。请举个例子。我已经创建了索引和映射。但我坚持设置。

curl -XPUT "http://localhost:9200/blurays " -d'
{
   "settings": {
     "analysis": {
     "filter": {
        "nGram_filter": {
           "type": "nGram",
           "min_gram": 2,
           "max_gram": 20,
           "token_chars": [
              "letter",
              "digit",
              "punctuation",
              "symbol"
           ]
        }
     },
     "analyzer": {
        "nGram_analyzer": {
           "type": "custom",
           "tokenizer": "whitespace",
           "filter": [
              "lowercase",
              "asciifolding",
              "nGram_filter"
           ]
        },
        "whitespace_analyzer": {
           "type": "custom",
           "tokenizer": "whitespace",
           "filter": [
              "lowercase",
              "asciifolding"
           ]
        }
     }
  }
 },

2 个答案:

答案 0 :(得分:2)

您可以使用elasticsearch.indices.create并将设置作为正文传递。

文档说:

创建(* args,** kwargs)

在Elasticsearch中创建索引。 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html

参数:

  • index - 索引的名称
  • body - 索引的配置(设置和映射)
  • master_timeout - 指定连接主服务器的超时时间
  • timeout - 显式操作超时

因此,您可以使用设置参数传递body

答案 1 :(得分:0)

如果索引已经存在,则可以使用elasticsearch.indices.put_settings更新其设置。