2012-10-17 4 views
0

나는 쿼리 개체를 준비하고 elasticsearch에서 검색을 수행합니다.elasticsearch에서 검색하기

쿼리 개체를 만들기 위해 키와 값을 제공합니다.

키와 값이 "브랜드"와 같은 경우 : "남성복"다음이 경우 elasticsearch에서 관련 문서를 제공 할 수 없습니다. 나는 문제가 쉼표로 생각하거나 공간일지도 모른다. 키와 값에 다른 json 속성을 사용하면 문제가 없습니다. ("우선 순위"와 같이 쉼표가 없으면 "높음")

아무 도움이 필요하십니까?

업데이트 :

아직 일치하지 않는 검색어가 없습니다. 내가 검색 쿼리를 만들 때 발견 한 문제가 하나 더 있습니다. 내가 사용하고있는 쿼리는 다음과 같습니다.

var qryObj1 = { 
         "query" : { 
         "text" : {"name":"Tom"} 
        } 
       };  

Tom이라는 이름의 모든 문서가 반환됩니다. 이제 Tom이라는 이름의 모든 문서를 얻고 싶습니다. 그리고 직업은 개발자입니다. 따라서 여기를 수정 :

qryObj1 = { 
        "query" : { 
         "text" : {"name":"Tom","profession":"developer"} 
        },"operator" : "and" 

       };  

그러나 검색 결과는 오래된 것입니다. 어떤 도움이라도!

+0

난 당신이 당신의 매핑을 제공해야 할 것 같아요 다양한 쿼리의 AND 또는 취할 OR을 ES를 요청할 수 있습니다 부울 쿼리 여기 http://www.elasticsearch.org/guide/reference/query-dsl/bool-query.html

를 사용할 필요가 당신은 하나를 제출했고, 당신이 elasticsearch에서 데이터를 검색하기 위해 사용하고있다. – javanna

답변

0

TermQuery를 사용하는 것처럼 들리십니까?

TermQuery는 분석되지 않아 분석 된 콘텐츠와 일치하지 않습니다.

시도해보십시오. MatchQuery. 그것은 작동해야합니다.

+0

아직 작동하지 않습니다! –

+0

@javanna가 이전에 쓴 것처럼 더 자세한 정보 (매핑, 문서 전송, 쿼리)를 게시해야합니다. – dadoonet

1

당신은 당신이 경우,

"bool" : { 
    "must" : [ 
        "text" : {"name":"Tom"}, 
        "text" : {"profession":"developer"} 
    ] 

}