queryasticsearch может получить документ по идентификатору, но не найти его в запросе всех - PullRequest
0 голосов
/ 01 ноября 2019

Я использовал ES 2.3, теперь я обновляю его до ES 7.4. Данные были сгенерированы с помощью автоматического тестирования. Так что это всегда будет 32 документа.

Я обнаружил, что когда я использовал ES 2.3 с запросом всего, я получил все 32 документа. Документ, например, data.id: 5dba917f61b48a327c948557 может быть найден в результате. И я могу запросить его по data.id, документы также можно найти.

Но если я сделаю то же самое с помощью ES 7, я CAN NOT найду документ с data.id:5dba917f61b48a327c948557 в запросе, например,http://localhost:9200/test-auditing-2019-10/_search?pretty=true результаты.

{
  "took" : 16,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 32,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "test-auditing-2019-10",
        "_type" : "_doc",
        "_id" : "J0LIIG4Bw-26hPm9OiXO",
...

Я получаю документы при запросе http://localhost:9200/test-auditing-2019-10/_search?q=data.id:5dba917f61b48a327c948557&pretty=true.

...
  "hits" : {
    "total" : {
      "value" : 2,
      "relation" : "eq"
    },
    "max_score" : 2.3795462,
    "hits" : [
      {
        "_index" : "test-auditing-2019-10",
        "_type" : "_doc",
        "_id" : "RELIIG4Bw-26hPm9WyUP",
...

Что не так? Это ожидается? Большое спасибо.

1 Ответ

1 голос
/ 01 ноября 2019

ElasticSearch 2.3 слишком стар, возможно, он вернет все совпадающие документы. У меня нет этой версии, и я не могу ее воспроизвести.

Однако современный ElasticSearch по умолчанию возвращает только 10 соответствующих документов, даже если ваш запрос соответствует всем документам. Чтобы получить более подходящие документы, вы можете использовать from и size для разбивки на страницы:

Получить первые 32 документа:

http://localhost:9200/test-auditing-2019-10/_search?from=0&size=32&pretty=true

Получить следующие 32 документа:

http://localhost:9200/test-auditing-2019-10/_search?from=32&size=32&pretty=true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...