Elasticsearch условия с массивом URL - PullRequest
0 голосов
/ 11 июня 2019

Я использую Elasticsearch 5.5, ниже приведен индекс на Elasticsearch

[
      {
        "_index" : "corpindex-qa",
        "_type" : "corpdocs-qa",
        "_id" : "5cb468fd35b9db6f2235e4c4",
        "_score" : 1.0,
        "_source" : {
          "Edition" : {
            "Values" : {
              "title" : "new featured parallex"
          }
          },
          "url" : "/demo-inline-component-capability/demo-of-featured-parallex",
          "year" : 2019,
          "author" : "",
          "docdef" : "new-featured-parallex-reference-1"
        }
      },
      {
        "_index" : "corpindex-qa",
        "_type" : "corpdocs-qa",
        "_id" : "5ccfe1dd6948151485158661",
        "_score" : 1.0,
        "_source" : {
          "Edition" : {
            "Values" : {
              "title" : "demo of event careers",
              "description" : "careers"

            }
          },
          "url" : "/demo-inline-component-capability/demo-of-event-card",
          "year" : 2019,
          "author" : "",
          "docdef" : "inline-event-card"
        }
      }]

Попытка получить документы с помощью запроса с терминами на nodejs с клиентским модулемasticsearch.

client.search({
                            index: searchIndex,
                            type: searchType
                            , body: {
                                query: {
                                    terms: {
                                        "url": ["/demo-inline-component-capability/demo-of-featured-parallex","/demo-inline-component-capability/demo-of-event-card"]
                                    }
                                }
                            }
                        });

получение нулевого документа при выполнении выше.

{"took":0,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}

Вот детали картографирования, которые взяли у elasticsaerch

{
corpindex-qa: {
aliases: { },
mappings: {
corpdocs-qa: {
properties: {
url: {
type: "text",
fields: {
keyword: {
type: "keyword",
ignore_above: 256
}
}
},
year: {
type: "long"
}
}
}
},
settings: {
index: {
creation_date: "1559900006341",
number_of_shards: "5",
number_of_replicas: "1",
uuid: "xL6PICFARZq6zMZBpm-75A",
version: {
created: "5050399"
},
provided_name: "corpindex-qa"
}
}
}
}

Пожалуйста, поделитесь своими мыслями, которые были бы полезны для меня.

1 Ответ

1 голос
/ 11 июня 2019

Поскольку вы пытаетесь найти точное значение url, используйте url.keyword вместо url.Обновите ваш запрос ниже:

client.search({
                            index: searchIndex,
                            type: searchType
                            , body: {
                                query: {
                                    terms: {
                                        "url.keyword": ["/demo-inline-component-capability/demo-of-featured-parallex","/demo-inline-component-capability/demo-of-event-card"]
                                    }
                                }
                            }
                        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...