Elasticsearch-Python 2.7-为分析器配置索引

时间:2016-07-16 22:35:02

标签: python python-2.7 elasticsearch elasticsearch-plugin

我正在尝试使用python API构建索引,使用以下代码(特别是我正在尝试配置分析器):

doc = {
"settings": {
"analysis": {
  "analyzer": {
    "folding": {
      "tokenizer": "standard",
      "filter":  [ "lowercase", "asciifolding" ]
      }
     }
   }
  }
}

res = es.indices.create(index='index_db',body=doc)

但是,当我尝试用一​​些示例数据来喂养数据库时:'我的食物导致了一个重复'(网站的同一个例子)我没有得到:'我的食道,引起了,一个,崩溃'但是又一次:'我的, - 食道造成的,一个,一个'。我认为问题在于索引的创建。我使用正确的语法吗?

1 个答案:

答案 0 :(得分:1)

经过多次尝试,我找到了解决方案。这是一个语法问题。 正确答案是:

doc = {        
     "index" : {
            "analysis" : {
                "analyzer" : {
                        "default" : {
                                "tokenizer" : "standard",
                                "filter" : ["standard", "asciifolding"]
                                    }
                             }
                         }
               }
}
es.indices.create(index='forensic_db',body=doc)