我无法让ElasticSearch突出显示使用elasticsearch-mapper-attachments
索引的附件内容中的匹配。
我在/stuff/file
的数据如下所示:
{
"id": "string"
"name": "string"
"attachment": "...base 64 encoded file"
}
我放置到/stuff/file/_mapper
的映射器配置如下所示:
{
"file" : {
"properties" : {
"attachment" : {
"type" : "attachment",
"path" : "full",
"fields": {
"name": { "store": true },
"title": { "store": true },
"content": { "store": true },
"attachment": {
"type": "string",
"term_vector": "with_positions_offsets",
"store": true
}
}
}
}
}
}
当我在/stuff/_mapper/file
查询时,我得到了回复:
{
"stuff":{
"mappings":{
"file":{
"properties":{
"attachment":{
"type":"attachment",
"path":"full",
"fields":{
"attachment":{
"type":"string"
},
"author":{
"type":"string"
},
"title":{
"type":"string"
},
"name":{
"type":"string"
},
"date":{
"type":"date",
"format":"dateOptionalTime"
},
"keywords":{
"type":"string"
},
"content_type":{
"type":"string"
},
"content_length":{
"type":"integer"
},
"language":{
"type":"string"
}
}
},
"id":{
"type":"string"
},
"name":{
"type":"string"
}
}
}
}
}
}
我的查询如下:
{
"size": 30,
"query": {
"multi_match": {
"query": "{{.Query}}",
"operator": "and",
"fields": ["id", "name^4", "attachment"],
"fuzziness": "AUTO",
"minimum_should_match": "80%"
}
},
"highlight" : {
"fields" : {
"attachment": { }
}
}
}
当我搜索附件中的术语时,它会返回正确的结果,但没有突出显示。几年前有一个类似的问题在attachment
交换了file
在一些地方,但有评论说这又改变了......有什么正确的配置让突出显示起作用?
答案 0 :(得分:0)
事实证明,您无法使用PUT
覆盖映射器配置。您需要先删除现有配置(我实际上删除了整个数据库,DELETE
对配置似乎没有任何影响)。实际更新映射器配置后,突出显示工作正常。