0

这里的最终目标是在对象上使用一个名为 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 即时搜索中创建一个方面的子级别的细化列表

4

0 回答 0