Виджет ais-доработки списка для заголовков фасетов, а не контента фасетов

Окно поиска работает нормально. Я сейчас пытаюсь добавить флажки, чтобы пользователь мог фильтровать результаты. Для этого я пытаюсь использовать https://www.algolia.com/doc/api-reference/widgets/refinement-list/vue/

Я назначил атрибуты для огранки внутри панели управления algolia. Код ниже работает. Проблема в том, что я хочу, чтобы значение для флажков было фасетом, а не данными внутри фасета. Например:

Текущий путь (ближе всего я получил к тому, что хочу) - attribute="business_name"

Выход =

<input type="checkbox" class="ais-RefinementList-checkbox" value="Business Name 1">

<input type="checkbox" class="ais-RefinementList-checkbox" value="Business Name 2">

(Таким образом, в настоящее время все флажки являются названиями компаний)

...

Желаемый путь - attribute="attributesForFaceting"

Выход =

<input type="checkbox" class="ais-RefinementList-checkbox" value="Business Name">

<input type="checkbox" class="ais-RefinementList-checkbox" value="Business Address">

<input type="checkbox" class="ais-RefinementList-checkbox" value="Business Telephone Number">

Это означает, что я могу начать вводить номер, и если у меня установлен флажок для служебного адреса, но не для служебного телефонного номера, я получу только те результаты, которые соответствуют адресу.

MySearch.vue

<template>
    <ais-instant-search
            :search-client="searchClient"
            index-name="Businesses"
    >
        <ais-search-box placeholder="Search by business..."></ais-search-box>

        <ais-refinement-list
                attribute="business_name"
                label="Business Name"
        />

        <ais-hits>
            <div slot="item" slot-scope="{ item }">
                <h2>{{ item.business_name }}</h2>
            </div>
        </ais-hits>

    </ais-instant-search>
</template>

<script>
    import algoliasearch from 'algoliasearch/lite';

    export default {
        data() {
            return {
                searchClient: algoliasearch(
                    'value',
                    'value'
                ),
            }
        }
    };
</script>

0 ответов

Другие вопросы по тегам