我用耐嚼宝石弹力搜索。
我有LocationsIndex,mapping:
class LocationsIndex < Chewy::Index
settings analysis: {
analyzer: {
folding: {
tokenizer: "standard",
filter: [ "lowercase", "asciifolding" ]
},
sorted: {
tokenizer: 'keyword',
filter: ['lowercase', 'asciifolding']
}
}
}
define_type Location do
field :name, type: 'string', analyzer: 'standard' do
field :folded, type: 'string', analyzer: "folding"
end
field :address, type: 'string', analyzer: 'standard' do
field :address, type: 'string', analyzer: 'folding'
end
field :locations, type: 'geo_point', value: ->{ {lat: lat, lon: lon} }
end
end
当我查询:
LocationsIndex::Location.query(
multi_match: {
query: keyword,
fields: ["address", "address.folded" ,"name", "name.folded"]
}
)
数据示例:
当我使用关键字=“Vietnam”运行查询时
result :
_id = [131,132,,133,134,135,136,137,138,139,130] # => OK working
result :
_id = [132,135,139] # => Don't working ???, should have been: _id = [132,135,136,137,138,139]
与keywork=“hue”相同
result :
_id = [132,135] # => Don't working ???, should have been: _id = [132,135,136,137,138,139]
如何搜索包含上述单词的结果(添加类型或执行任何操作)
声明字段address
时出错。您声明的是address.address
而不是address.folded
。换言之,声明应:
field :address, type: 'string', analyzer: 'standard' do
field :folded, type: 'string', analyzer: 'folding'
end
以下是events_controller.rb的代码 为了调试,我尝试将行更改为event.create(params[]),此时错误从参数数错误(1表示0)变为参数数错误(0表示1)。 以下是event.rb的代码
问题内容: 詹金斯(Jenkins)正在为我们运行一个Ant构建。Ant构建了一个Objective-C项目的CI-一个可在iOS和OSX上使用的库。 这个Ant构建可以在Jenkins中运行,也可以在Jenkins中运行,因此开发人员可以在签入之前验证其工作,并且Jenkins将提供另一层检查。(因此减少了构建失败影响其他贡献者的机会)。 我创建了一个执行以下任务的任务: 。。即使机器已安装RV
如果我更改为: 代码运行良好-但我想转换工作。
问题内容: 我目前正在使用Tire Client进行elasticsearch。可以说我有一个字段,该字段在我的elasticsearch映射中被索引为很长的类型的字段。我正在尝试实现以下目标: “ id”是我一直在谈论的领域。但是由于我在查询中指定了字段,所以通配符不起作用,最终我得到了唯一匹配的结果。 但是对_all搜索也可以执行相同的操作,因为字段类型无关紧要。我希望此通配符搜索有效,同时还
问题内容: 弹性搜寻1.6 我想索引包含连字符的文本,例如U-12,U-17,WU-12,T恤…,并能够使用“简单查询字符串”查询来搜索它们。 数据样本(简体): 所以我去了这个映射: 使用以下查询进行搜索: 什么有效: “ U-12”,“ U ”,“ t ”,“ ts *” 什么不起作用: “ U-”,“ u-1 ”,“ t-”,“ t-sh ”,… 看来char过滤器未在搜索字符串上执行?我该
问题内容: 我已经使用此批量请求设法用4个文档填充了索引: 开机自检 现在如何在所有可用 标题* 上使用 通配符 进行 搜索 ? *** 类似于 但提供一个或多个通配符的东西。例如,搜索“ ”并解析来自elasticsearch的响应以最终返回如下内容: 谢谢! 问题答案: Elasticsearch在常规匹配查询中提供正则表达式支持 给你这个 要更新到您的问题URI搜索,我不确定是否可行,如果使