这里的最终目标是在对象上使用一个名为 attributes 的属性,它是一个对象,并使用 vue Instantsearch 组件 ais-refinements-list 制作细化列表
https://www.algolia.com/doc/api-reference/widgets/refinement-list/vue/
最终目标的一个非常简单的例子
const settingAttributes = [
'attributes.Thing',
'attributes.Other thing',
]
<div v-for="refinementAttr in settingAttributes">
<ais-refinement-list :attribute="refinementAttr" />
</div>
问题是要做到这一点,我需要从索引中列出点分隔的深层属性键。拥有属性对象,它在设置中被标记为分面,它也被标记为可搜索
试过了
使用搜索 https://www.algolia.com/doc/api-reference/api-parameters/attributesForFaceting/
algoliaClient.initIndex(indexName).search('query', {
attributesToRetrieve: ['*'],
});
然后从 algolia lite 切换并拉取设置
import algoliasearch from 'algoliasearch';
export const getSettings = () =>
algoliaClient.initIndex(indexName).getSettings();
它返回一个带有键的对象
{
attributesForFaceting: [
"attributes"
...
]
...
}
如何获取深度键列表?
我相信这是同一个问题: 在 algolia vuejs 即时搜索中创建一个方面的子级别的细化列表