Ruby on rails 带字段的Rails弹性搜索模型
我正在使用和 我有以下字段的简单映射:Ruby on rails 带字段的Rails弹性搜索模型,ruby-on-rails,
elasticsearch,mongoid,Ruby On Rails,
elasticsearch,Mongoid,我正在使用和 我有以下字段的简单映射: "title": { "type": "string", "fields": { "raw": { "type": "string", "i
"title": {
"type": "string",
"fields": {
"raw": {
"type": "string",
"index": "not_analyzed"
}
}
}
我的模型如下所示:
class ArticlesEvent
include Mongoid::Document
include Elasticsearch::Model
field :title, type: String
attr_accessible :title
def as_indexed_json(options={})
as_json(except: [:id, :_id])
end
有人能举例说明如何使用title.raw字段定义rails模型,以及如何访问该字段吗?由于多字段已被弃用,因此很难找到rails和mongoid的工作示例
谢谢您应该能够通过模型中的以下属性定义实现这一点:
attribute :title, String, mapping: {
fields: {
raw: { type: 'string', index: 'not_analyzed' }
}
}
这似乎仍然是elasticsearch rails的一个未决问题:您可以在模型中定义以下映射
索引:字段的名称,类型::关键字,字段:{
原始:{
类型::文本
}
}
请注意,它们并没有被弃用,而是很好而且很有活力。版本1.0中不推荐使用的是,它现在可以是一个带有嵌入式字段的字符串类型,也就是上面的结构。好的,谢谢,你有rails的例子吗?是的,我的答案如下所示。请看我的评论,它抛出了一个异常…我正在使用Mongoid,这段代码引发了一个异常:“articlesvent:Class的未定义方法'attribute'”