RavenDb에서 패싯 검색을 실행하는 방법이 있는지 묻지하지만 필터링 된 패싯도 가져옵니다.필터링 된 패싯 범위가 포함 된 RavenDb 패싯 검색
예 :
은의이 속성Color : string
와
Status : enum(New,Used)
와
Car
엔티티를 보자.
내가 Red
차를 검색 할 때 나는 다른 모든 색상으로도 카운트하고 싶습니다. 마찬가지로 Used
차량을 검색하면 새 차량 수를보고 싶습니다. 내가 선택하지 않은 모든 경우
는 :
UI
Color: [ ] Red (5) [ ] Blue (7) [ ] White (15)
Status: [ ] Used (20) [ ] New (7)
C#
session.Query<Car, Cars_Index>().ToFacets("facets/Cars");
을 나는 적절한 결과를 얻을. 나는 현재 내가 각면에 대해 별도의 쿼리를 실행하는 일
UI
Color: [x] Red (3)
Status: [x] Used (3)
C#
session.Query<Car, Cars_Index>()
.Where(a => a.Status == CarStatus.Used)
.Where(a => a.Color == "Red")
.ToFacets("facets/Cars");
Response (JSON):
{ "Color": [ { "Range": "Red", "Count": 3 } ], "Status" : [ { "Range": "Used", "Count": 3 } ] }
는 :
var colorFacet = session.Query<Car, Cars_Index>()
.Where(a => a.Status == CarStatus.Used)
.ToFacets("facets/Cars");
var statusFacet = session.Query<Car, Cars_Index>()
.Where(a => a.Color == "Red")
.ToFacets("facets/Cars");
내가 좋아하는 것 내가 모두 Color
및 Status
필터링하면
는하지만 매우 제한된 결과를 얻을 수 달성하기 :
UI
Color: [x] Red (3) [ ] Blue (4) [ ] White (12)
Status: [x] Used (3) [ ] New (7)
그래서 사용 레드의 번호를 자동차, 블루 중고차, 화이트 중고차 및 사용자 레드 카, 새 레드 카. 따라서 사용자는 확인란을 클릭 할 때 어떤 일이 발생할지 즉각적인 피드백을받습니다.
패싯의 수와 변동성이 커지면 관리하기가 어려워집니다. 거기에 하나의 요청/쿼리에서 실행할 수있는 방법을 설정하는 방법이 있나요. 면은 (그 문제에 대한, 또는 일반적으로) RavenDB 작업하는 방법하지
감사
음, 죄송합니다. 하지만 RavenDB가 아닌 Lucene의 기능이기 때문에 RavenDB 기능 요청으로 변경하는 것조차 없습니다. – puco