ElasticSearch에서 대소 문자 독립적 인 결과 점수를 반환하고 싶습니다. 모두 "집"과 "하우스"가있을 것입니다, 이상적인 세계에서는ElasticSearch가 대소 문자 독립적 인 점수를 반환하는 방법은 무엇입니까?
"House" => score: 0.6868894, "House on the hill" => score: 0.52345484 "HOUSE" => score: 0.52200186
: 예를 들어, 내가 문자열 "HOUSE"또는 ("집") 나는 다음과 같은 결과를 얻을 쿼리 가정 1.0의 점수와 "언덕 위의 집"0.5의 점수.
지금까지 custom analyser을 추가하려고 시도했지만 지금은 omit_norms 옵션을보고 있습니다. 그들은 CASE_INSENSITIVE 플래그를 가지고 있기 때문에 패턴을 고려 중입니다. 불행히도 공식 문서에 예제와 코드 스 니펫이 없다는 것을 알게되었습니다 ...
누구나 대소 문자 독립적으로 점수를 획득하는 데 필요한 매개 변수를 포함하는 쿼리의 코드 스 니펫/예제를 제공 할 수 있습니까? Tire for Rails를 사용하여 솔루션을 제공 할 수있는 모든 사람에게 추가 인식.
매핑 mapping _source: {} do indexes :id, type: 'integer' indexes :value, :analyzer => 'string_lowercase' end
분석기는 사용자 정의 분석기가
QUERY { "query": { "filtered": { "query": { "query_string": { "query": "house" } } } }, "fields": ["value"], "from": 0, "size": 50, "sort": { "_score": { "order": "desc" } }, "explain": true }
ElasticSearch 0.90.5 위에서 언급 한 **; Rails 4.0.0; 타이어 (보석) 0.6.0
건배. es 기본값을 사용하면 모든 것이 소문자로 표시되므로 점수 차이는 다른 것으로 인해 발생합니다. 더 많이 알기 위해 설명 출력을 살펴보십시오. – javanna