2013-03-26 1 views
2

표시되지하지만면이 다음 음의 부호Elasticsearch 기간 패싯 내 필드가 부정적인 값을 포함, 나는 탄성 검색어면을 사용하고 부정적인 측면

을 무시하면면 쿼리

http://myserver.com:9200/index/type/_search

에게 있습니다

가져 오기/후 몸

{ 
    "facets" : { 
    "school.id" : { 
     "terms" : { 
     "field" : "school.id", 
     "size" : 10 
     } 
    } 
    } 
} 

응답

{ 
    "took": 281, 
    "timed_out": false, 
    "_shards": { 
     "total": 5, 
     "successful": 5, 
     "failed": 0 
    }, 
    "facets": { 
     "school.id": { 
      "_type": "terms", 
      "missing": 302, 
      "total": 4390, 
      "other": 0, 
      "terms": [ 
       { 
        "term": "1113515007867355135", 
        "count": 4390 
       } 
      ] 
     } 
    } 
} 

ID의 실제 값은 -1113515007867355135입니다 내가 뭔가 잘못하고있는 중이 아니면 음의 부호 (형태소 문제를) 포함 아무것도 통과해야합니까?

+0

elasticsearch에 게시 https://groups.google.com/forum/#!topic/elasticsearch/FeObbeT1eok 그룹 – mtariq

답변

1

답이 Elasticsearch Google Group이되었습니다. "분석", "분석기": "키워드"

또는

업데이트 매핑하고

"인덱스"를 사용

가능한 솔루션 분야의 매핑을 업데이트해야

"인덱스": "not_analyzed는"

2

음수 기호는 Lucene (및 ElasticSearch)의 특수 문자입니다.

색인 생성 및 검색 중에 escape it이 필요합니다.

인덱스에 - 문자 앞에 \ 문자를 추가하면 패싯에 나타납니다.

+0

링크를 제공해 주셔서 감사 합니다만, -ve 기호가없는 패싯 결과가 표시되며 패싯 (쿼리 본문)에 이스케이프를 추가 할 위치는 어디입니까? – mtariq

+0

인덱스를 만드는 동안도 탈출해야합니다. 나는. 탄성 검색 인덱스에 값을 저장하기 전에 이스케이프해야합니다. –

+0

검색 쿼리에서 음수 기호 앞에 \를 추가하면 문제가 해결됩니다. 감사! –