검색은 범위를 점점 좁혀가며 원하는 문서를 찾아가는 과정입니다.
|
namespace SearchApi.Models.Filter { public class Paging { public int page { get; set; } // 0 base public int limit { get; set; } } public class Sort { public string price { get; set; } public string viewCnt { get; set; } public string saleCnt { get; set; } } public class Filters { public int minPrice { get; set; } public int maxPrice { get; set; } public string category1 { get; set; } public string category2 { get; set; } public string category3 { get; set; } public string tag { get; set; } } public class SearchFilter { public Paging paging { get; set; } public Sort sort { get; set; } public Filters filters { get; set; } public string keyword { get; set; } } } |
검색옵션(필터)는 다음과 같은 요소로 나누어 이해할수 있습니다.
public class FilterCount { public string fieldName { get; set; } public string name { get; set; } public int count { get; set; } } public class Summary { public List<string> tags { get; set; } public List<FilterCount> filterCounts { get; set; } } public class SearchResult { public List<SearchGoods> list {get;set;} public int total { get; set; } public int size { get; set; } public Summary summary { get; set; } } |
노출을 위한 기본 상품 정보(SearchGoods) 컬렉션을 포함하여 페이징 처리및 결과내 재검색을 위한 몇가지 집계 정보도 같이 내려주게됩니다.
검색필터에 적용된 전체 집계정보를 항상 내려줌으로 , 결과내 재검색이 가능하게해야합니다.