Chào mn,
như tiêu đề thì em đang làm project về mảng này và đang mắc chưa biết xử lý sao, lên đây hỏi han xem có giải quyết được gì không ạ.
Có ai có đề xuất gì không ạ, cho em xin chút ý kiến
Hệ thống bên em giống như tiki có lọc theo giá, thuộc tính, và search nữa.
Mong tìm được hướng giải quyết.
Cám ơn mn
update -------------------------------
{
"query": {
"bool": {
"filter": [
{
"nested": {
"path": "variants.string_filter",
"query": {
"bool": {
"filter": [
{
"term": {
"variants.string_filter.filter_name": "ram"
}
},
{
"terms": {
"variants.string_filter.filter_value": [
"1"
]
}
}
]
}
}
}
}
]
}
}
}
đây là đoạn query mình dùng, mình thiết kết cấu trúc theo dạng FACET
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 2,
"successful": 2,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 0,
"hits": [
{
"_index": "app",
"_type": "page",
"_id": "1",
"_score": 0,
"_source": {
"product_id": 1,
"full_text": "text 1",
"full_text_boosted": "boosted 1",
"variants": [
{
"variant_id": 1,
"string_filter": [
{
"filter_name": "weight",
"filter_value": "100"
},
{
"filter_name": "ram",
"filter_value": "1"
},
{
"filter_name": "cpu",
"filter_value": "1"
}
],
"integer_filter": {
"integer_name": "final_gross_price",
"integer_value": 5001
}
},
{
"variant_id": 1403003751,
"string_filter": [
{
"filter_name": "weight",
"filter_value": "200"
},
{
"filter_name": "ram",
"filter_value": "1308942637"
},
{
"filter_name": "cpu",
"filter_value": "1325432371"
}
],
"integer_filter": {
"integer_name": "final_gross_price",
"integer_value": 1868949491
}
}
]
}
}
]
}
}
đây là kết quả ạ,
giờ nó đang có vấn đề là mình muốn lấy 1 variant ra thôi, nhưng mà nó lại lấy tất cả. @@