问题标签 [vue-instant-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
137 浏览

vue.js - Vue Instantsearch SEO 友好的 URL

我正在使用 Vue Instantsearch,我想让 URL 看起来有点悦目,所以我遵循了本指南:https ://www.algolia.com/doc/guides/building-search-ui/going-further/routing -urls/vue/#seo-friendly-urls

但问题是我无法让类别过滤器正常工作。当我使用类别过滤器时,会生成路由并附加到地址栏,但是当我再次访问相同的 URL 时,无论是通过在地址栏上按 enter 还是刷新页面,类别过滤器都会被剥离,只保留查询字符串.

这是我到目前为止所拥有的:

该功能很好地选择了该类别routeToState。但是一旦它到达stateToRoute,该类别就不再存在了。我的索引名称是my_index.

任何想法我的代码有什么问题?

更新

我弄清楚是什么导致 URL 重置。我<ais-configure>用来根据用户的当前位置对结果进行排序:

默认情况下coordinates为空:

但是在创建组件时,我会确定用户的位置并更新coordinates. 这将触发它重新渲染。因此失去了通过 URL 提供的初始状态:

我怎样才能让它不那样做?

0 投票
2 回答
134 浏览

algolia - 集成 VueInstantSearch Algolia

我是 Algolia 即时搜索和其他组件的新手。我为 Algolia 创建了一个单独的组件。

我已经运行 npm 命令来安装依赖项

下面是组件 SearchBox 中的模板代码。

app.js 看起来像这样

我按照提供的文档仍然无法显示搜索框。谁能帮我知道这里的问题。

仅供参考:我正在将此组件导出到另一个父组件中。

0 投票
1 回答
848 浏览

javascript - Algolia vue Instantsearch 动态设置搜索查询

我在根组件(App.vue)上有一个搜索栏。我想输入一个查询,然后它应该使用输入值@keyup.enter重定向到Search组件视图。v-text-field使用重定向是$router.replace因为用户可能会在同一路由中搜索不同的关键字。

下面的代码有效,但只有ONCE。如果我输入新的搜索词,URL 会更改,但结果保持不变。

应用程序.vue

视图/搜索.vue

我试过的

做了一个 hack-ish 方法(测试 1)来解决它,但没有奏效(我很高兴,因为它感觉不对)。下面是对搜索组件的非工作代码添加。创建了计算和监视属性,该属性在第一次加载时从 AlgoliaSearchHelperquery获取其数据this.$route.query.q和分配的数据。algoliaHelpersearchFunction

当我输入一个新的搜索词时,观察者工作并且查询确实改变了。尽管如此,调用助手并在观察者中使用新术语设置其查询并没有改变 Algolia 的结果。

然后我使用了路由 URL(测试 2),ais-instant-search但仍然没有解决问题。也许我实施错了?我真的很想理解 Algolia 的文档,但它太难消化了。

views/Search.vue - 测试 1(失败)

views/Search.vue - 测试 2(失败)

如果你们知道如何解决这个问题,我将不胜感激。

0 投票
1 回答
385 浏览

javascript - VueInstantSearch(Algolia) 中的 ais-refinement-list 不呈现列表

我一直在使用 algolia 的细化列表小部件遇到问题。首先,我得到的数据结构是这样的:

我的页面上有这种类型的结构:

在 ais-configure 中,我已将一个 facetsFilters 变量传递给过滤器,该变量包含具有此类内容的字符串:

它工作正常,我在选定的类别中得到结果,问题开始了,当我尝试在这里获取细化列表时:

尽管在仪表板上,我有一个空列表,但该属性被添加为 attributesForFacetings,并且在 ais-configure 过滤器中带有 categories.id 的参数也可以正常工作。

任何建议都非常感谢!

0 投票
0 回答
28 浏览

vue.js - 从 algolia 索引中检索属性中点注释的深度键列表,以在 vue 即时搜索中制作细化列表

这里的最终目标是在对象上使用一个名为 attributes 的属性,它是一个对象,并使用 vue Instantsearch 组件 ais-refinements-list 制作细化列表

https://www.algolia.com/doc/api-reference/widgets/refinement-list/vue/

最终目标的一个非常简单的例子

问题是要做到这一点,我需要从索引中列出点分隔的深层属性键。拥有属性对象,它在设置中被标记为分面,它也被标记为可搜索

属性对象

试过了

使用搜索 https://www.algolia.com/doc/api-reference/api-parameters/attributesForFaceting/

然后从 algolia lite 切换并拉取设置

它返回一个带有键的对象

如何获取深度键列表?

我相信这是同一个问题: 在 algolia vuejs 即时搜索中创建一个方面的子级别的细化列表

0 投票
0 回答
36 浏览

vue.js - Vue即时搜索自动完成消失太快

我有一个自动完成组件来搜索我的索引,但它消失得太快了,没有显示任何东西,但是当我输入一个点时,它会正确显示数据。这是代码

直接取自源https://www.algolia.com/doc/api-reference/widgets/autocomplete/vue/#examples

有什么理由为什么当我输入一个点时,它会显示自动完成结果,而当我输入除 k 之外的任何其他字母时它不会显示?

0 投票
0 回答
5 浏览

instantsearch.js - 反转构面菜单的显示

我有一个使用即时搜索的应用程序,其中一些菜单看起来像这样

在此处输入图像描述

这没关系,虽然 on 位置看起来像这样

在此处输入图像描述

这占用了更多空间。我想总结各个方面看起来像这样

在此处输入图像描述

细化小部件代码如下所示

这不提供直接自定义的选项。

我如何自定义此小部件以仅具有与附加图像相似的复选框、标签文本和计数?

0 投票
1 回答
347 浏览

javascript - vue-instantsearch 在我的 VueJS 3.0 项目中不起作用

我有一个结合 Firebase 和 Algolia 的 VueJS 3.0 项目(选项 API)。一切正常。我在 Algolia 中定义了多个索引,我可以使用自己编写的 Vue 代码同时搜索它们,但我更愿意使用来自 Algolia 的 vue-instantsearch。我试图设置基础知识来搜索一个索引(companyIndex),但是我无法让它工作。我得到的错误是这样的(####### 是我的钥匙):

这是我的 main.js:

这是我的组件的摘要:

我究竟做错了什么?

0 投票
1 回答
37 浏览

vue.js - 查询多个索引时,如何为 algolia 中的每个索引使用不同的搜索参数?(Vue 即时搜索)

我正在使用具有多个索引的 Vue Instantsearch。

查询发生在ais-search-box组件中,同时查看两个索引并在ais-autocomplete组件中显示结果。

这很好用,但是我找不到将每个索引分配给相应ais-configure组件的方法,因此必须对两个索引使用相同的过滤器。正如您所想象的那样,两个索引都包含不同的属性,这不能按预期工作。

文档提到了这一点:

由于这是两个专用索引,因此您可以将不同的参数和小部件应用于搜索。您可以通过向 传递不同的参数ais-configure或在每个组件中安装不同的小部件来实现ais-index。(来源:https ://www.algolia.com/doc/guides/building-search-ui/ui-and-ux-patterns/multi-index-search/vue/ )

似乎不清楚如何“将不同的参数传递给ais-configure”?谁能提供一个例子?