NEST .NET 라이브러리를 사용하여 쿼리를 실행합니다.탄성 검색 NEST 라이브러리, 유선 동작
var result = client.Search<StudenntBrief>(s => s.Type("Students").Query(q => q.Term("Name","Robert")));
7 개의 결과가 표시됩니다.
필드를 나타 내기 위해 maigic 문자열을 사용하는 대신 다음과 같이 expression을 사용하려고했습니다.
var result = client.Search<StudenntBrief>(s => s.Type("Students").Query(q => q.Term(t => t.Name,"Robert")));
결과가 없습니다.
또 하나의 예입니다.
작동.
var result = client.Search<StudenntBrief>(s => s.Type("Students").Query(q => q.MultiMatch(a => a.OnFields(new List<string{"Name"}).Query("Robert"))));
작동하지 않습니다.
var result = client.Search<StudenntBrief>(s => s.Type("Students").Query(q => q.MultiMatch(a => a.OnFields(f=> f.Name).Query("Robert"))));
필드를 나타내는 표현식을 사용하는 쿼리가 작동하지 않는 이유가 궁금합니다.
이렇게하는 유창한 API가 있습니까? 도메인 클래스를 기본 검색 기술과 분리하여 유지하고 싶습니다. –
강력하게 형식화 된 필드 이름을 원하면 다른 방법이 없다고 생각합니다. 같은 필드를 가지고있는'IStudentBrief'와 같은 인터페이스를 가지고 그것을 노출시킬 수없는 이유는 무엇입니까? 그런 다음'StudentBrief' 클래스를'IStudentBrief'로 구현하고'Nest' 속성으로이 클래스를 꾸밀 수 있습니다. 그것은 당신의 문제를 해결해야합니다. – bittusarkar
이 질문에 대한 답변이 있으면 답변으로 표시하십시오. – bittusarkar