我正在使用elasticsearch-rails和mongoid 我有以下简单的字段映射:
"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的工作示例。
由于
答案 0 :(得分:2)
您应该能够在模型中使用以下属性定义来实现此目的:
attribute :title, String, mapping: {
fields: {
raw: { type: 'string', index: 'not_analyzed' }
}
}
答案 1 :(得分:0)
看起来这仍然是elasticsearch-rails:https://github.com/elastic/elasticsearch-rails/issues/79
的一个未解决的问题答案 2 :(得分:0)
您可以在模型中定义以下映射
indexes :name_of_field,type: :keyword, fields: {
raw: {
type: :text
}
}