如何在elasticsearch-jdbc-river中为Elasticsearch设置index_settings?

时间:2014-04-24 12:20:33

标签: elasticsearch elasticsearch-jdbc-river

我正在尝试使用elasticsearch-jdbc-river配置索引设置。

到目前为止,这就是我的工作:

curl -XPUT localhost:9200/_river/my_river/_meta?pretty=true --data @index.json

这是我的json文件:

{
"type":"jdbc",
"jdbc":{
  "strategy":"simple",
  "poll":"5s",
  "scale":0,
  "autocommit":false,
  "fetchsize":10,
  "max_rows":0,
  "max_retries":3,
  "max_retries_wait":"10s",
  "driver":"com.mysql.jdbc.Driver",
  "url":"jdbc:mysql://mysql-server:3306/products_fr",
  "user":"root",
  "password":"root",
  "sql":"* from OFFERS"
},
"index":{
  "index":"dev",
  "type":"offers",
  "bulk_size":30,
  "max_bulk_requests":100,
  "index_settings":{
     "number_of_shards":10,
     "number_of_replicas":1,
     "analysis":{
        "analyzer":{
           "indexAnalyzer":{
              "type":"custom",
              "tokenizer":"standard",
              "filter":[
                 "lowercase",
                 "mySnowball"
              ]
           },
           "searchAnalyzer":{
              "type":"custom",
              "tokenizer":"standard",
              "filter":[
                 "standard",
                 "lowercase",
                 "mySnowball"
              ]
           }
        },
        "filter":{
           "mySnowball":{
              "type":"snowball",
              "language":"French"
           }
        }
     },
     "similarity":{
        "index":{
           "type":"BM25"
        },
        "search":{
           "type":"BM25"
        }
     },
     "type_mapping":null,
     "versioning":false,
     "acknowledge":false
  }
 }
}

该命令有效但似乎没有构建索引。我试过在没有index_settings之前构建它并重新启动elasticsearch服务器,它似乎构建正常。

任何人都可以帮我理解出了什么问题吗?

1 个答案:

答案 0 :(得分:3)

我已经通过设置预先创建索引然后添加河来解决了我的问题。

此时河道中的index_settings将被忽略,因为索引已经创建。

然后我重新启动了Elasticsearch。

PS:未使用Elasticsearch 2.x进行测试。 +