Ruby on rails 如何使用searchkick设置word_中区分大小写的搜索?
我正在尝试在Rails应用程序中设置Searchkick 我有一个带有字段的模型:Ruby on rails 如何使用searchkick设置word_中区分大小写的搜索?,ruby-on-rails,
elasticsearch,searchkick,Ruby On Rails,
elasticsearch,Searchkick,我正在尝试在Rails应用程序中设置Searchkick 我有一个带有字段的模型: 编号:字符串,例如NK4321nn1234 我需要的是: 搜索1nn1应找到NK4321nn1234 搜索1NN1不应找到NK4321nn1234 这是我的模型: class Product < ApplicationRecord searchkick word_middle: [:number] def search_data { number: number
- 编号:字符串,例如
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 downcase allnGrams
在索引过程中。。。但是为什么呢
问题:
- 我写的搜索方法正确吗
- 为什么敏感搜索不起作用
class Product < ApplicationRecord
searchkick word_middle: [:number], case_sensitive: true
end
类产品
更新Searchkick选项后,请务必重新编制索引。您能否修改“我需要什么”下的内容,它似乎不正确。@Val谢谢,已修复