具有多个类别的ElasticSearch文档

时间:2016-02-04 12:04:41

标签: database elasticsearch

我有很多文档可供ElasticSearch搜索。这些文件分为几类。

有什么意义?

  • 搜索所有文档访问符合该模式的类别时。
  • 管理自己的相关文件清单。
  • EleasticSearch可以创建一个列表吗?

也必须在某些类别的文件中进行全文检索。

示例数据:

{
    fulltext: "This is a Invoice from Project TestProject...",
    id: 1235456
}

样本类别:

[{
    name: "invoices",
    filter: {
        match: "invocie"
    }
},
{
    name: "testproject files",
    filter: {
        match: "testproject"
    }
}]

招呼 菲利普

1 个答案:

答案 0 :(得分:1)

只需在文档类型中添加字符串字段,并在其中存储每个文档的类别。然后,您可以在搜索查询中对该字段进行过滤,以限制与特定类别的匹配。

您的文档有这样的内容:

   {
        "fulltext": "This is a Invoice from Project TestProject...",
        "category": "Invoice"
    }

并在“发票”类别中搜索文本“testproject”的文档:

 GET /_search
    { "query":
    {
        "filtered": {
            "query":  { "match": { "fulltext": "testproject" }},
            "filter": { "term":  { "category": "invoice" }}
        }
    }}