我使用WordPress&amp ;;构建了一个搜索页面。 Algolia Search,它已经工作了好几个月,但突然之间,我收到了以下错误:
未捕获的TypeError:无法读取未定义的属性“matchedWords”
构面过滤器不再有效,搜索结果未显示。
有问题的网页是:https://habyts.com/activities-for-kids
我无法确定任何因为停止工作而发生变化的事情,所以我真的不知道如何解决这个错误。
Algolia WordPress插件日前更新到2.3.0,但是我在更新后加载了搜索页面几次并且它正常工作,它只是在更新后的一天左右它已经破坏并开始显示控制台错误。
请帮忙!
提前致谢。
答案 0 :(得分:6)
引发Uncaught TypeError: Cannot read property 'matchedWords' of undefined
错误,因为您的Algolia索引中不再存在某个字段。
从插件的1.x版到2.x版,有一些变化,我们已经看过一次这个错误。
要解决此问题,您需要手动删除Algolia仪表板中的所有索引,然后触发Algolia插件管理员对所有索引的重新索引。
如果您还自定义了自动填充/搜索页面模板,则需要确保在发送到Algolia的数据中仍然可以使用这些字段中的字段。
答案 1 :(得分:0)
我删除了所有我的Algolia Indices,并重新编制了所需的所有内容,并恢复了我原来的即时搜索命中模板,该模板确实再次运行,搜索突出显示再次工作。
但有一件事并不奏效。我之前使用data.images.medium
来显示每个搜索结果的缩略图。由于某种原因,这不再有效,因为没有显示图像。没有控制台错误,我无法弄清楚改变了什么。
我可以让data.images.thumbnail
工作以显示每个搜索结果的缩略图。然而,我希望获得更高分辨率的图像,我以前可以使用data.images.medium
...
有什么想法吗?
答案 2 :(得分:0)
我发现了这篇文章的答案 - https://discourse.algolia.com/t/image-size-on-instantsearch-page/1593/2
从版本2.x开始,每次搜索都不会返回所有图像大小,因为它会导致性能问题。
要返回缩略图以外的自定义图像尺寸,需要将此代码添加到插件/函数文件中。
add_filter('algolia_post_images_sizes', function($sizes) {
$sizes[] = 'medium';
return $sizes;
});
将此代码添加到函数或您自己的自定义插件文件后,您需要重新索引所有内容,然后您选择的自定义图像大小才能开始工作。
希望这很有帮助。