Elasti c Поиск (5.0) Фильтр контекстного запроса запроса не работает - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть запрос фильтра, как показано ниже. Я намереваюсь отфильтровать по неработающему stripped-block-uri (точное совпадение),

{
    "query": {
        "bool": {
            "filter": [
                {
                    "term": {
                        "stripped-blocked-uri": "https://www.twitter.com:9090"
                    }
                },
                {
                    "term": {
                        "project-id": "1"
                    }
                },
                {
                    "term": {
                        "rule-id": "101"
                    }
                }
            ]
        }
    }
}

, который не возвращает хитов.

Мое сопоставление:

                    "stripped-blocked-uri": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },

Не уверен, что здесь происходит не так. Пожалуйста, помогите!

1 Ответ

1 голос
/ 17 апреля 2020

Используйте поле keyword:

{
    "query": {
        "bool": {
            "filter": [
                {
                    "term": {
                        "stripped-blocked-uri.keyword": "https://www.twitter.com:9090"
                    }
                },
                {
                    "term": {
                        "project-id": "1"
                    }
                },
                {
                    "term": {
                        "rule-id": "101"
                    }
                }
            ]
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...