2017-10-04 3 views
0

나는 탄성 검색과 검색을 구현하기 위해 노력하고 있지만, 일부 확률값을 보내고 있습니다 :ElasticSearch AND 조건

내가 ElasticSearch를 구현하기 위해 노력하고있어

을 가지고 내가이 두 필드를했습니다 :

1)

2) 도시 이름 (텍스트 필드)

N) 기간 (TextField를 검색 여기서 내가 원하는 것은 사용자가 두 값을 모두 입력 한 다음 둘 다 (AND 조건)를 입력해야하는 경우입니다. 사용자가 검색어를 입력하면 검색어 만 검색하거나 도시가 도시만을 검색하는 경우입니다. 내가

"bool" : { 
"should": [ 
    { 
    "multi_match": { 
     "query": '"'+keyword.toLowerCase()+'"', 
     "fields": 
     [ 
      "title", "desc" 
     ] 
    } 
    }, 
    { 
    "match": 
    { 
     "city": city.toLowerCase() 
    } 
    } 
], 

}

을하고 있어요하지만, 그것과 함께 또는 검색하는 것 작동하지 않습니다 무엇

.

도움을 주시면 감사하겠습니다. 사전에

감사

Randheer

+0

이 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html에 대한 쿼리 문자열을 살펴볼 수 있습니다. –

답변

0

모든 조건은 당신이 "해야"대신 "해야한다"로 사용할 수 있습니다 일치하십시오.

+0

도시와 함께 사용하면 안됩니다. 사용자가 도시를 입력하면 도시에서만 작동합니다. –

+0

"일치"쿼리가 필수 항목 내에서 문제가된다는 것을 의미하는 경우 용어로 바꿀 수 있습니다 또는 와일드 카드 쿼리를 사용할 수 있습니다. –