弹性搜索完全匹配搜索附件类型内容

时间:2014-06-27 11:01:29

标签: elasticsearch

我正在尝试使用附件插件在已正确索引到ES的索引文件(pdfs)内容中执行精确搜索匹配。

我已经知道要执行完全匹配搜索,我必须在特定字段的映射中指定"index" : "not_analyzed"

我尝试使用附件类型,但它似乎没有按预期工作。 我测试了以下两个映射:

{
    doc: {
        "properties": {
            file : { 
                "type" : "attachment",
                "index" : "not_analyzed",
                "fields" : {
                    "title" : { "store" : "yes" },
                    "file" : { "term_vector":"with_positions_offsets", "store":"yes" }
                }
            }
        }
    }
}

{
    doc: {
        "properties": {
            file : { 
                "type" : "attachment",
                "fields" : {
                    "title" : { "store" : "yes" },
                    "file" : { "term_vector":"with_positions_offsets", "store":"yes", "index" : "not_analyzed" }
                }
            }
        }
    }
}

但他们并没有帮助我实现我想要的精确搜索匹配。

能否请你帮我一下? 你知道附件插件是否支持完全匹配搜索吗? 如果没有,请你建议另一种方法吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

我相信你的{"index": "not_analyzed"}位于错误的位置,应该在字段内。请尝试使用此映射:

{
    doc: {
        "properties": {
            file : { 
                "type" : "attachment",
                "fields" : {
                    "title" : { "store" : "yes" },
                    "file" : {  "index" : "not_analyzed"}
                }
            }
        }
    }
}

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-attachment-type.html