2013-07-26 5 views
1

저는 ElasticSearch를 처음 사용하고 스톱 어스에 대한 질문이 있습니다. 저는 미국의 주 이름이 들어있는 색인을 가지고 있습니다. 예 : 뉴욕/뉴욕, 캘리포니아/캘리포니아, 오레곤/OR. 오레곤의 약어 인 'OR'은 멈추는 단어이므로 상태 데이터를 색인에 삽입하면 'OR'을 검색 할 수 없습니다. 이 문제에 대한 사용자 지정 중지 단어를 설정할 수있는 방법이 있습니까? 아니면 내가 잘못하고있는 것입니까? curl -XPUT http://localhost:9200/test/state/1 -d '{"stateName": ["California","CA"]}' curl -XPUT http://localhost:9200/test/state/2 -d '{"stateName": ["New York","NY"]}' curl -XPUT http://localhost:9200/test/state/3 -d '{"stateName": ["Oregon","OR"]}' ElasticSearch 중지 단어를 "탈출"할 수있는 방법이 있습니까?

'NY'에 대한 검색이 잘 작동 : 여기

내가 인덱스를 구축하고 방법이다. 예 :

curl -XGET 'http://localhost:9200/test/state/_search?pretty=1' -d ' { "query" : { "match" : { "stateName" : "NY" } } }'

그러나 'OR'를 검색하면, 제로 안타를 반환

curl -XGET 'http://localhost:9200/test/state/_search?pretty=1' -d ' { "query" : { "match" : { "stateName" : "OR" } } }'

나는이 검색 때문에 결과가 반환 또는 정지 단어입니다 생각하지만, 난 몰라 이 문제를 해결하는 방법을 알고 있어야합니다. 도와 주셔서 감사합니다.

+0

대답이 유용 했습니까? – javanna

+0

감사합니다 Javanna! 좋은 정보. –

답변

4

귀하의 데이터 및 검색 방법에 따라 mapping을 수정하여 데이터 색인 방법을 제어 할 수 있습니다.

귀하의 경우에는 특정 단어에 대한 단어를 사용 중지하지 않을 수 있습니다. 그러나 원하는 경우 후자를 사용할 수도 있습니다. 요점은 기본 매핑을 사용하는 것부터 시작하는 것이 좋지만, 필요에 따라 조정할 필요가 있음을 알 수 있습니다.

각 필드에 대해 사용할 분석기를 지정할 수 있습니다. 분석기는 텍스트를 인덱싱 할 토큰 (토큰 화 프로그램)으로 분할하는 방법과 토큰 필터를 사용하여 각 토큰에 추가 변경 사항 (새 항목을 제거하거나 추가 할 수 있음)을 정의합니다.

creating your index 중에 매핑을 지정하거나 put mapping api을 사용하여 매핑 할 수 있습니다 (변경 사항이 이전 버전과 호환되는 한).

관련 문제