我开始实施 ElasticSearch 来代替旧的自制搜索引擎。我迁移了代码的主要部分,但我必须呈现回形针提供的 url,而且我的结果中没有正确的对象
has_attached_file :content, url: '/system/:attachment/:id/:style/:filename'
mapping do
indexes :name
indexes :description
indexes :tags do
indexes :name, type: :string
end
indexes :content, type: :object do
indexes :url
end
end
def to_indexed_json
{
name: name,
description: description,
tags: tags.map { |tag| { name: tag.name }},
content: content_url_json
}.to_json
end
这是我使用 curl 查询 Elasticsearch 时的结果
{
"element": {
"properties": {
"content": {
"type": "string"
},
"name": {
"type": "string"
},
"tags": {
"properties": {
"name": {
"type": "string"
}
}
}
}
}
}
我需要打电话element.content.url
。但是由于我无法转向content
对象,因此此调用将失败。你能帮我找到如何找到我的代码中的问题吗?