2016-11-01 9 views
0

나는 (5 만 출시 이래 아직 일주로 업데이트 할 수 있습니다 방법은 작업에 대한 리뷰를 기다리고) elasticsearch 2.3.4 작업 내가하려고복잡한 검색

을하고있다 내 .NET 클래스 몇 가지 이유 const1 더 값을 반환하지 않습니다 (내가 다른 PARAMS없이 단독으로 실행하는 경우에도)하지만 HD로 난 결과를 얻을 확장, 어쩌면 내가 용어를 사용 야해 들어

ISearchResponse<ClassModel> apiResponse = client1.Search<ClassModel>(a => 
      a.Query(q => 
      q.Term(p => p.param1, Param1) && 
      q.Term(p => p.const1, "const1") && 
      q.Term(p => p.param2, param2))); 

내 asearch 만들? 다른 것?

당신이 "const1"필드에 올바른 매핑이되지 않을 수도 있습니다 그것은 비록 소리 미리

+0

apiReponse에서 디버그 정보를 보려고 했습니까? NEST에서 생성 한 쿼리를 볼 수 있으며 쿼리가 올바른지 확인할 수 있습니다. –

+0

@JozefCechovsky NEST에서 생성 한 검색어를 어디에서 찾을 수 있습니까? 나는 그것을 확인하고 couldnt한다. 실제로 그것은 매우 도움이 될 것이다. –

+0

http://prntscr.com/d23uux –

답변

1

에 감사드립니다.

아래의 설명에 따라 수정 : 분석 된 필드에서 검색어를 사용할 수는 있지만 예상했던대로 작동하지 않을 수 있습니다. "const1"필드에 여러 단어가 포함되어 있으면 색인 텍스트 문자열과 동일한 검색어가 일치하지 않습니다.

"const1": { 
    "type":  "string", 
    "index": "not_analyzed" 
} 
+0

검색어에 'not_analyzed'필드가 필요하지 않습니다. '; 당신은'analyze' 필드에서 그것을 실행할 수 있습니다, 당신은 단지 용어 쿼리가 입력을 분석하지 않는다는 것을 알아야합니다 –