0

我是新手elasticsearch,习惯于logstash-jdbc-input将数据从 mysql 加载到 elasticsearch 服务器。这是logstash配置

input {
    jdbc {
        jdbc_connection_string => "jdbc:mysql://localhost:3306/news"
        jdbc_user => "root"
        jdbc_password => "sunilgarg"
        jdbc_validate_connection => true
        jdbc_driver_library => "../jars/mysql-connector-java-5.1.21.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        statement => "SELECT * from news"
    }
}
output {
    stdout {codec => json_lines}
    elasticsearch {
        "index" => "news"
        "document_type" => "news"
        "hosts" => "localhost:9200"
        "document_id" => "%{id}"
    }
}

将数据库中的所有数据放入elasticsearch服务器后。我通过关闭索引更新了分析器设置,然后使用PUT更新了分析器

{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_english_analyzer": {
          "type": "standard",
          "max_token_length": 5,
          "stopwords": "_english_"
        }
      }
    }
  }
}

/news/_open 使用POST请求再次打开索引后,我仍然可以使用 the,of,was 等停用词进行搜索。

问题是什么?难道我做错了什么?

4

1 回答 1

1

分析器在索引时应用。您应该首先定义您的映射,然后为您的文档编制索引。

于 2017-10-16T03:39:47.853 回答