1

我有一个需要搜索组件的 Gatsy-Sanity 项目。为此,我想使用gatsby-plugin-lunr。我遇到了一个问题,我的节点是多语言的。例如,我的一个字段的构造如下:

         "title": {
            "_type": "localeString",
            "nl": "Begin ",
            "en": "Home "
         },

(简而言之,此解析器如下所示。如果键_type以 'locale*' 开头,则仅返回键 en 或 nl 的值。这是由 var 传递的)

我可以制作一个拆分/剥离数据的解析器。我在从搜索索引运行搜索查询的组件内部进行了这种工作(尚未成功)。但这意味着它会在每次搜索时解析它。有没有办法在gatsby-node.js使用 lunr 插件构建时做到这一点?我也需要这个,因为我需要在结果的 slug/path 上添加一个语言前缀。

const SearchProcess = lunr => builder => {
  // how to pre-process data
}
4

1 回答 1

1

我要使用不同的 gatsby 插件。gatsby-plugin-local-search 这个插件能够在保存之前更改数据normalizer现在我可以调用一个方法来有条件地更改每种语言的数据。

于 2020-04-19T12:12:46.857 回答