|
|
@@ -697,7 +697,8 @@ public class SearchServiceImpl implements SearchService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<Map<String, String>> getSimilarPropertyValues(Long kindId, Long propertyId, String keyword, Long topNum) {
|
|
|
+ public List<Map<String, String>> getSimilarPropertyValues(Long kindId, Long propertyId, String keyword,
|
|
|
+ Long topNum) {
|
|
|
String message = "";
|
|
|
if (kindId == null || propertyId == null) {
|
|
|
message = "类目id或属性id为空";
|
|
|
@@ -716,6 +717,7 @@ public class SearchServiceImpl implements SearchService {
|
|
|
if (!propertyIdString.startsWith(SearchConstants.COMPONENT_PROPERTY_PREFIX)) {
|
|
|
propertyIdString = SearchConstants.COMPONENT_PROPERTY_PREFIX + propertyIdString;
|
|
|
}
|
|
|
+ propertyIdString = propertyIdString + SearchConstants.COMPONENT_PROPERTY_TOKENIZED_SUFFIX;
|
|
|
if (keyword == null) {
|
|
|
keyword = "";
|
|
|
}
|
|
|
@@ -729,7 +731,8 @@ public class SearchServiceImpl implements SearchService {
|
|
|
BooleanQuery booleanQuery = new BooleanQuery();
|
|
|
booleanQuery.add(new TermQuery(new Term(SearchConstants.COMPONENT_KINDID_FIELD, String.valueOf(kindId))),
|
|
|
BooleanClause.Occur.MUST);
|
|
|
- booleanQuery.add(new PrefixQuery(new Term(propertyIdString, keyword)), BooleanClause.Occur.MUST);
|
|
|
+ booleanQuery.add(new PrefixQuery(new Term(propertyIdString, keyword.toLowerCase())),
|
|
|
+ BooleanClause.Occur.MUST);
|
|
|
logger.info(booleanQuery);
|
|
|
TopDocs topDocs = searcher.search(booleanQuery, TOP_NUM);
|
|
|
ScoreDoc[] scoreDocs = topDocs.scoreDocs;
|