2016-11-16 3 views
1

я данные структурированы следующим образом:Создание refinementList из строки значений

{ 
    "id": 12345, 
    "name": "Brother PJ-663 Direct A4 Thermal Mobile Printer", 
    "type": "Thermal printer", 
    "features": "USB, Mobile Print" 
}, 

Я пытаюсь создать refinementList виджет на основе значений из строки функций (разобранном), так же как и я для типа, но я не уверен, что это правильный подход или даже возможно.

Как мне форматировать данные, чтобы создать один виджет instantsearch.widgets.refinementList?

Также я использую _tags вместо этого и добавляю каждую из этих функций в качестве тега, можно ли это достичь?

ответ

5

Лучший способ переформатировать (разбивку по ,) вашим данным перед индексированием и индексом features и type как массивы:

{ 
    "id": 12345, 
    "name": "Brother PJ-663 Direct A4 Thermal Mobile Printer", 
    "type": [ 
    "Thermal printer" 
    ], 
    "features": [ 
    "USB", 
    "Mobile Print" 
    ] 
} 

Затем установить эти атрибуты в качестве атрибутов для огранки в настройках Algolia и вы хорошо идти. Вы можете использовать instantsearch.js's refinementList widget, чтобы отфильтровать результаты в соответствии с этими атрибутами.

Я бы не пошел за _tags здесь, поскольку у вас есть 2 разных атрибута, которые вы хотите использовать для фильтрации, и _tags не позволит вам сделать это простым способом.

+0

Я уже пробовал это, но затем я получаю как возможность фильтровать [«USB», «Мобильная печать»], где я бы хотел получить два варианта: «USB» и «Мобильная печать». – Strnm

+0

Решено, проблема была в том, как я загружал данные, спасибо! – Strnm

+0

Рад, что ты заработал! Счастливый поиск :) –

 Смежные вопросы

  • Нет связанных вопросов^_^