2017-04-30 5 views
0

다음 쿼리를 통해 (simple_query_string) 쿼리를 수행 할 수도 있지만 제안하기도하지만이 작업을 수행하기 전에는 용어를 사용하여 데이터를 필터링하고 싶습니다.Elasticsearch simple_query_string with filter

{ 
    "query": { 
     "simple_query_string": { 
     "fields": ["merchant.basic"], 
     "query": "(sterbuck|sterbuck*)", 
     "default_operator": "and" 
     } 
    }, 
    "suggest": { 
     "text": "sterbuck", 
     "phraseSuggestion": { 
     "phrase": { 
      "field": "merchant.basic", 
      "direct_generator": [{ 
      "field": "merchant.basic", 
      "suggest_mode": "popular", 
      "min_word_length": 3, 
      "prefix_length": 2 
      }] 
     } 
     } 
    }, 
    "size": 4, 
    "_source": ["merchant"] 
    } 

감사합니다.

답변

0
{ 
    "query":{ 
     "bool":{ 
     "must":{ 
      "simple_query_string": { 
      "fields": ["merchant.basic"], 
      "query": "(star|star*)", 
      "default_operator": "and" 
      } 
     }, 
     "filter":{ 
      "term":{ 
       "name":"michael" 
      } 
     } 
     } 
    }, 
    "suggest": { 
     "text": "sterbuck", 
      "phraseSuggestion": { 
      "phrase": { 
       "field": "merchant.basic", 
       "direct_generator": [{ 
       "field": "merchant.basic", 
       "suggest_mode": "popular", 
       "min_word_length": 3, 
       "prefix_length": 2 
       }] 
      } 
      } 
    }, 
    "size": 4, 
    "_source": ["merchant"] 
}