使用 Searchkick 为每个字段实现一种语言

Implementing one language per field with Searchkick

我正在尝试为使用 searchkick 搜索功能的 Rails 应用添加多语言支持。

经过一些研究后,我决定采用 here 中描述的每个领域一种语言的方法。但是,在使用 searchkick 进行大量搜索后,我找不到关于此主题的任何文档。

基本上,我找不到使用 searchkick 为给定字段指定语言分析器的方法。

如有任何帮助,我们将不胜感激。

你必须使用custom mapping with language analyzers

class Product < ApplicationRecord
  searchkick mappings: {
    properties: {
      title_en: {type: "text", analyzer: "english"},
      title_fr: {type: "text", analyzer: "french"},
    }
  }
end

可能还有 custom search query

products = Product.search body: {query: {match: {title_en: "milk"}}}