如何在elasticsearch中使用stopwords分析器

时间:2017-10-13 18:26:35

标签: elasticsearch elasticsearch-analyzers

我是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 请求再次打开索引后,我仍然可以使用停止词搜索,例如,等等。

问题是什么?我做错了吗?

1 个答案:

答案 0 :(得分:0)

分析仪在索引时应用。您应首先定义映射,然后索引文档。