2017-10-13 1 views
0

나는 elasticsearch을 처음 사용하고 logstash-jdbc-input을 사용하여 mysql에서 elasticsearch 서버로 데이터를로드합니다. 여기에 서버를 elasticsearch하는 데이터베이스에서 모든 데이터를 장착 한 후 logstash의 설정elasticsearch에서 스톱워치 분석기 사용 방법

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}" 
    } 
} 

입니다. 나는 인덱스를 닫아 분석기 설정을 업데이트 한 후 다시 /news/_openPOST 요청을 사용하여 인덱스를 연 후

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

을 PUT 사용하여 분석기를 업데이트, 나는 여전히 같은 중지 단어를 사용했다 등을 검색 할 수 있습니다

무엇이 문제입니까? 내가 뭐 잘못하고 있니?

+0

이 분석기를 사용하여 어느 필드를 설정하지 못했습니다. 맵핑 템플리트 또는 사용자 정의 맵핑에서 필드의 분석 속성을 설정해야합니다. – hkulekci

답변

0

분석기는 인덱싱 시간에 적용됩니다. 먼저 매핑을 정의한 다음 문서 색인을 생성해야합니다.