| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- package com.uas.search.service;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import com.uas.search.model.PageParams;
- /**
- * 搜索服务的接口
- *
- * @author suntg
- * @since 2016年7月29日下午4:58:45
- */
- public interface SearchService {
- /**
- * 根据关键字搜索产品类目id
- *
- * @param keyword
- * 关键词
- * @return 符合条件的类目id
- */
- public List<Long> getKindIds(String keyword);
- /**
- * 根据关键词搜索产品类目
- *
- * @param keyword
- * @return
- */
- public List<Map<String, Object>> getKinds(String keyword);
- /**
- * 根据关键词搜索产品品牌id
- *
- * @param keyword
- * 关键词
- * @return 符合条件的品牌id
- */
- public List<Long> getBrandIds(String keyword);
- /**
- * 根据关键词搜索产品品牌
- *
- * @param keyword
- * @return
- */
- public List<Map<String, Object>> getBrands(String keyword);
- /**
- * 根据关键词搜索产品
- *
- * @param keyword
- * @param params
- * (可选,默认第1页的20条)
- * @return
- */
- public Map<String, Object> getComponentIds(String keyword, PageParams params);
- /**
- * 根据产品搜索获取产品类目id的统计
- *
- * @param keyword
- * @param brandId
- * (可选)
- * @return
- */
- public Set<Long> getKindIdsBySearchComponent(String keyword, String brandId);
- /**
- * 根据产品搜索获取产品类目的统计
- *
- * @param keyword
- * @param brandId
- * (可选)
- * @return
- */
- public List<Map<String, Object>> getKindsBySearchComponent(String keyword, String brandId);
- /**
- * 根据产品搜索获取产品品牌id的统计
- *
- * @param keyword
- * @param kindId
- * (可选)
- * @return
- */
- public Set<Long> getBrandIdsBySearchComponent(String keyword, String kindId);
- /**
- * 根据产品搜索获取产品品牌的统计
- *
- * @param keyword
- * @param kindId
- * (可选)
- * @return
- */
- public List<Map<String, Object>> getBrandsBySearchComponent(String keyword, String kindId);
- /**
- * 根据输入获取联想词(包括器件、类目、品牌,按顺序获取,数量不足,才会获取下一个)
- *
- * @param keyword
- * @return
- */
- public List<String> getSimilarKeywords(String keyword);
- /**
- * 根据输入的原厂型号获取联想词
- *
- * @param componentCode
- * @return 包括id、uuid、code
- */
- public List<Map<String, Object>> getSimilarComponents(String componentCode);
- /**
- * 根据输入的品牌获取联想词
- *
- * @param brandName
- * @return 包括id、uuid、nameCn、nameEn
- */
- public List<Map<String, Object>> getSimilarBrands(String brandName);
- /**
- * 根据输入的类目名获取联想词
- *
- * @param kindName
- * @return 包括id、nameCn、level、isLeaf
- */
- public List<Map<String, Object>> getSimilarKinds(String kindName);
- /**
- * 根据输入的类目名获取末级类目联想词
- *
- * @param kindName
- * @return 包括id、nameCn、level、isLeaf
- */
- public List<Map<String, Object>> getSimilarLeafKinds(String kindName);
- /**
- * 根据输入的类目名和指定的类目级别获取联想词
- *
- * @param kindName
- * @param level
- * @return 包括id、nameCn、level、isLeaf
- */
- public List<Map<String, Object>> getSimilarKindsByLevel(String kindName, Short level);
- /**
- * 根据类目id、属性id、属性值获取联想词
- *
- * @param kindId
- * 类目id
- * @param propertyId
- * 属性id
- * @param keyword
- * (可选) 属性值(部分字符)
- * @param topNum
- * (可选) 获取的最大数目
- * @return 相似的属性值,包括propertyValue
- */
- public List<Map<String, String>> getSimilarPropertyValues(Long kindId, Long propertyId, String keyword,
- Long topNum);
- }
|