Toggle navigation
Toggle navigation
This project
Loading...
Sign in
yoho-search
/
yoho-search-service
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
hugufei
9 years ago
Commit
df611701fccab7a4fe115bbe6026690f5018ab97
1 parent
e6fe7644
aggGender 的 BUG
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
69 additions
and
1 deletions
service/src/main/java/com/yoho/search/aggregations/impls/AggregationFactoryService.java
service/src/main/java/com/yoho/search/aggregations/impls/GenderNewAggregation.java
service/src/main/java/com/yoho/search/service/AggregationService.java
service/src/main/java/com/yoho/search/servicenew/impl/ProductIndexServiceImpl.java
service/src/main/java/com/yoho/search/aggregations/impls/AggregationFactoryService.java
View file @
df61170
...
...
@@ -72,6 +72,10 @@ public class AggregationFactoryService {
public
IAggregation
getGenderAggregation
(
Map
<
String
,
String
>
paramMap
)
{
return
new
GenderAggregation
(
paramMap
);
}
public
IAggregation
getGenderNewAggregation
()
{
return
new
GenderNewAggregation
();
}
public
IAggregation
getPriceAggregation
()
{
return
new
PriceAggregation
();
...
...
service/src/main/java/com/yoho/search/aggregations/impls/GenderNewAggregation.java
0 → 100644
View file @
df61170
package
com
.
yoho
.
search
.
aggregations
.
impls
;
import
java.util.Iterator
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
org.elasticsearch.search.aggregations.AbstractAggregationBuilder
;
import
org.elasticsearch.search.aggregations.Aggregation
;
import
org.elasticsearch.search.aggregations.AggregationBuilders
;
import
org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation
;
import
org.elasticsearch.search.aggregations.bucket.MultiBucketsAggregation.Bucket
;
import
com.yoho.search.aggregations.AbstractAggregation
;
public
class
GenderNewAggregation
extends
AbstractAggregation
{
@Override
public
String
aggName
()
{
return
"genderAgg"
;
}
@Override
public
AbstractAggregationBuilder
getBuilder
()
{
return
AggregationBuilders
.
terms
(
aggName
()).
field
(
"gender"
).
size
(
5
);
}
@Override
public
Object
getAggregationResponseMap
(
Map
<
String
,
Aggregation
>
aggMaps
)
{
MultiBucketsAggregation
aggregation
=
this
.
getAggregation
(
aggMaps
);
if
(
aggregation
==
null
)
{
return
null
;
}
Map
<
String
,
Object
>
genderMap
=
new
LinkedHashMap
<
String
,
Object
>();
Iterator
<?
extends
Bucket
>
itgenderAgg
=
aggregation
.
getBuckets
().
iterator
();
while
(
itgenderAgg
.
hasNext
())
{
Bucket
ltgender
=
itgenderAgg
.
next
();
String
genderId
=
ltgender
.
getKey
();
if
(
"1"
.
equals
(
genderId
))
{
genderMap
.
put
(
"1,3"
,
"BOYS"
);
}
else
if
(
"2"
.
equals
(
genderId
))
{
genderMap
.
put
(
"2,3"
,
"GIRLS"
);
}
else
if
(
"3"
.
equals
(
genderId
))
{
genderMap
.
put
(
"1,3"
,
"BOYS"
);
genderMap
.
put
(
"2,3"
,
"GIRLS"
);
}
}
return
genderMap
;
}
}
...
...
service/src/main/java/com/yoho/search/service/AggregationService.java
View file @
df61170
...
...
@@ -139,6 +139,20 @@ public class AggregationService implements ApplicationEventPublisherAware{
String
filterParamName
=
needPreAggregation
?
ISearchConstans
.
PARAM_SEARCH_GENDER
:
null
;
return
this
.
getAggNameAndResponse
(
aggregation
,
searchParam
,
paramMap
,
filterParamName
);
}
/**
* 获取性别层面的聚合结果
*
* @param searchParam
* @param paramMap
* @return
* @throws Exception
*/
public
JSONObject
getGenderNewAggregationResult
(
SearchParam
searchParam
,
Map
<
String
,
String
>
paramMap
,
boolean
needPreAggregation
)
throws
Exception
{
IAggregation
aggregation
=
aggregationFactoryService
.
getGenderNewAggregation
();
String
filterParamName
=
needPreAggregation
?
ISearchConstans
.
PARAM_SEARCH_GENDER
:
null
;
return
this
.
getAggNameAndResponse
(
aggregation
,
searchParam
,
paramMap
,
filterParamName
);
}
/**
* 获取价格层面的聚合结果[结果经过缓存之后会变成无序的,此时需要手动转一下]
...
...
service/src/main/java/com/yoho/search/servicenew/impl/ProductIndexServiceImpl.java
View file @
df61170
...
...
@@ -121,7 +121,7 @@ public class ProductIndexServiceImpl implements IProductIndexService,Application
@Override
public
Object
getResult
()
throws
Exception
{
SearchParam
searchParam
=
getSearchParamFromMap
(
paramMap
);
JSONObject
jsonObject
=
aggregationService
.
getGenderAggregationResult
(
searchParam
,
paramMap
,
false
);
JSONObject
jsonObject
=
aggregationService
.
getGender
New
AggregationResult
(
searchParam
,
paramMap
,
false
);
return
jsonObject
.
get
(
"genderAgg"
);
}
});
...
...
Please
register
or
login
to post a comment