2017-05-03 3 views
0

일부 특수 문자와 용어를 사용하여 일부 문서를 Elasticsearch에서 검색 할 수 있기를 원합니다. 내가 좋아하는 쿼리 문자열 사용할 수 있도록하려면탄성 검색 : 일부 특수 문자를 통해 문서를 검색하는 데 사용할 분석기

"HEY YOU! Thanks for reading this post!" 

:

{ 
"query": { 
    "query_string": { 
     "default_field": "content", 
     "query": "\"!\"" 
    } 
} 
} 

을 그리고 그 결과로 이전 문서를 가지고 예를 들어, 나는 다음과 같은 문서가있는 경우. 그러나 나는 또한 쿼리하여 문서를 가질 수 있도록하려면 :

{ 
"query": { 
    "query_string": { 
     "default_field": "content", 
     "query": "hey AND you" 
    } 
} 
} 

나는 현재 표준 토크 나이를 사용하고 있지만 특수 문자를 쿼리 할 수 ​​없습니다, 그것은 나에게 어떤 문서를 반환하지 않습니다. 이러한 유형의 작업에 이미 토큰 라이저가 정의되어 있습니까? 나는 필드를 분석하지 않는 것으로 생각했지만 소문자 부분은 가지지 않을 것입니다.

편집는 :

나는 사용자 지정 분석기 생성 :

{ 
    "sw3": { 
    "settings": { 
     "index": { 
     "number_of_shards": "5", 
     "provided_name": "sw3", 
     "creation_date": "1493907201172", 
     "analysis": { 
      "analyzer": { 
      "my_analyzer": { 
       "filter": [ 
       "lowercase" 
       ], 
       "type": "custom", 
       "tokenizer": "whitespace" 
      } 
      } 
     }, 
     "number_of_replicas": "1", 
     "uuid": "e0_9cIFrQWqn-zqYeg0q5g", 
     "version": { 
      "created": "5030299" 
     } 
     } 
    } 
    } 
} 

을하지만하려고하면

{ 
"query": { 
    "query_string": { 
     "default_field": "content", 
     "query": ";" 
    } 
} 
} 

나는 어떤 결과를 얻을 수 없습니다. 그래서 다음을 시도했습니다.

{ 
"query": { 
    "match": { 
     "content": ";" 
    } 
} 
} 

하지만 여전히 결과가 없습니다.

GET /my_index/_analyze?analyzer=my_analyzer 
{ 
    "text": "Hey ; what's up" 
} 

그리고 쿼리의 결과입니다 : 다음 tokeniser이 제대로 작동 할 때

{ 
    "tokens": [ 
    { 
     "token": "hey", 
     "start_offset": 0, 
     "end_offset": 3, 
     "type": "word", 
     "position": 0 
    }, 
    { 
     "token": ";", 
     "start_offset": 4, 
     "end_offset": 5, 
     "type": "word", 
     "position": 1 
    }, 
    { 
     "token": "what's", 
     "start_offset": 6, 
     "end_offset": 12, 
     "type": "word", 
     "position": 2 
    }, 
    { 
     "token": "up", 
     "start_offset": 13, 
     "end_offset": 15, 
     "type": "word", 
     "position": 3 
    } 
    ] 
} 

왜 내가 어떤 문서를 검색 할 수 없습니다 나는 정확히 tokeniser을 무엇을 보려고?

답변

관련 문제