【问题标题】:Use Elasticsearch percolate with specific type of field name使用具有特定类型字段名称的 Elasticsearch percolate
【发布时间】:2020-01-14 01:24:01
【问题描述】:

我正在使用 Elasticsearch 7.x 的 percolate 类型的属性创建一个通知订阅系统。问题是我无法对某些类型的字段进行渗透查询。

这是索引数据的示例。如您所见,我有一个查询索引以便能够执行渗透查询。我想提到的区别是查询中字段的名称可以是statecreated_by.full_name.raw

{
    "_index": "widgets_2020",
    "_type": "widget",
    "_score": 1.0,
    "_source": {
        "created_at": "2020-01-09T21:58:14.123Z",
        "query": {
            "bool": {
                "must": [],
                "filter": [
                    {
                        "terms": {
                            "created_by.full_name.raw": [
                                "Ivan Ledner"
                            ]
                        }
                    }
                ]
            }
        }
    }
},
{
    "_index": "widgets_2020",
    "_type": "widget",
    "_score": 1.0,
    "_source": {
        "created_at": "2020-01-09T22:02:24.133Z",
        "query": {
            "bool": {
                "must": [],
                "filter": [
                    {
                        "terms": {
                            "state": [
                                "done"
                            ]
                        }
                    }
                ]
            }
        }
    }
}

当我这样做时,Elasticsearch 会返回我期望的文档。

widgets_2020/_search

{
    "query" : {
        "percolate" : {
            "field" : "query",
            "document" : {
                "state": ["created"]
            }
        }
    }
}

但是当我搜索这个时,它什么也没有返回。

widgets_2020/_search

{
    "query" : {
        "percolate" : {
            "field" : "query",
            "document" : {
                "created_by.full_name.raw": ["Ivan Ledner"]
            }
        }
    }
}

是否有不同的方法来处理这些类型的名称?提前致谢!

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    问题是我启用了选项 map_unmapped_fields_as_text 并且这将我的所有字段映射为选项所说的文本。我解决这个问题的方法是手动映射所有属性,然后渗滤器开始按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      • 2023-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-10
      相关资源
      最近更新 更多