2014-10-24 9 views
1

사용자 검색 단어 (apple iphone 5s)에서 퍼지 검색을 수행하고 싶습니다. 나는 첫 번째 (사과)에 더 많은 점수 값을주고 싶다. 두 번째 점수는 그다지 적지 않다. 내가 예상대로ElasticSearch - 퍼지 단어 부스트 스코어

나는 아래가 아닌 작업 주어진 쿼리 시작 :

{ 
    "query": { 
    "fuzzy_like_this_field": { 
     "name": { 
     "like_text": "appla^4 iphane^2 5^1", 
     "max_query_terms": 12 
     } 
    } 
    }, 
    "fields": "name", 
    "sort": { 
    "_score": { 
     "order": "desc" 
    } 
    } 
} 

나는이 쿼리를 작성하는 방법을 알고있다?

답변

1

답변을 찾았습니다.

{ 
    "query" : { 
     "bool" : { 
     "should" : [ 
      { 
       "fuzzy" : { 
        "name" : { 
        "min_similarity" : 0.5, 
        "boost" : 4, 
        "value" : "appla", 
        "prefix_length" : 0 
        } 
       } 
      }, 
      { 
       "fuzzy" : { 
        "name" : { 
        "min_similarity" : 0.1, 
        "boost" : 2, 
        "value" : "iphane", 
        "prefix_length" : 1 
        } 
       } 
      } , 
      { 
       "fuzzy" : { 
        "name" : { 
        "min_similarity" : 0.1, 
        "boost" : 1, 
        "value" : "5", 
        "prefix_length" : 1 
        } 
       } 
      } 
     ] 
     } 
    } 
}