Как отфильтровать результаты по полю URL - PullRequest
0 голосов
/ 02 ноября 2018

Как мне отфильтровать результаты по полю URL. Например, у меня есть записи с URL-адресами http://abce.com/123/gth, http://abce.com/123/dsff, http://abce.com/123/dfsdf, http://abce.com/345/gth, http://abce.com/345/dfdh. Я хочу применить фильтр к http://abce.com/345/ получить записи только в этом домене. Я делюсь своим отображением индекса. В Кибане я могу отфильтровать результаты по URL, что будет JSON, чтобы пройти скручивание.

Отображение индекса:

 /testfilter2-index
{
    "settings": {
        "index": {
            "number_of_shards": 5,
            "number_of_replicas": 1,
            "refresh_interval": "60s",
            "analysis" : {
              "analyzer" : {
                "my_analyzer" : {
                    "tokenizer" : "standard",
                    "filter" : ["standard", "lowercase", "my_snow","asciifolding","english_stop"]
                }
              },
              "filter" : {
                "my_snow" : {
                    "type" : "snowball",
                    "language" : "Lovins"
                },
                "english_stop": {
          "type":        "stop",
          "stopwords":"_english_"
        }
            }
        }
        }
    },
    "mappings": {
        "doc": {
            "_source": {
                "enabled": true
            },
            "properties": {
                "content": {
                    "type": "text",
                    "index": "true",
                    "store": true,
                           "analyzer":"my_analyzer",
                            "search_analyzer": "my_analyzer"
                },
                "host": {
                    "type": "keyword",
                    "index": "true",
                    "store": true

                },
                "title": {
                    "type": "text",
                    "index": "true",
                    "store": true,
                            "analyzer":"my_analyzer",
                            "search_analyzer": "my_analyzer"

                },
                "url": {
                    "type": "keyword"


                }
            }
        }
    }
}

1 Ответ

0 голосов
/ 02 ноября 2018

Поскольку вы указали URL в качестве ключевого слова, вы можете использовать поиск по шаблону возможность

GET /testfilter2-index/_search
{
    "query": {
        "wildcard" : { 
            "url" : { 
                "value" : "http://abce.com/345/*", 
                "boost" : 2.0 
            } 
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...