gpt4 book ai didi

ruby-on-rails - 如何使用searchkick设置word_middle区分大小写的搜索?

转载 作者:行者123 更新时间:2023-12-03 01:37:07 25 4
gpt4 key购买 nike

我正在尝试在Rails应用程序中设置Searchkick。

我有一个模型与 Realm :

  • number:string例如NK4321nn1234

  • 我需要的:

    搜索 1nn1
  • 应该找到NK4321nn1234
  • 搜索 1NN1
  • 应该找不到NK4321nn1234

  • 这是我的模型:
    class Product < ApplicationRecord
    searchkick word_middle: [:number]

    def search_data
    {
    number: number
    }
    end

    def self.sensitive_search query, page
    search( query,
    fields: [{number: :exact}],
    match: :word_middle,
    misspellings: false,
    page: 1,
    per_page: 15
    )
    end

    def self.insensitive_search query, page
    search( query.downcase,
    fields: [:number],
    match: :word_middle,
    misspellings: false,
    page: 1,
    per_page: 15
    )
    end
    end

    区分大小写的搜索无效。据我了解,在索引编制过程中searchkick将所有 nGrams转换为小写...但是为什么?

    问题:
  • 我写的搜索方法正确吗?
  • 为什么敏感搜索不起作用?

  • 我的环境:rails 5.2.0,searchkick 3.1.0

    最佳答案

    this commit开始,您可以执行以下操作:

    class Product < ApplicationRecord
    searchkick word_middle: [:number], case_sensitive: true
    end

    确保在更新Searchkick选项后重新索引。

    关于ruby-on-rails - 如何使用searchkick设置word_middle区分大小写的搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51553342/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com