почему у моего упругого поиска какая-то проблема, не могу что-то искать? - PullRequest
0 голосов
/ 06 марта 2019

Мой запрос эластичного поиска:

{
  "bool": {
    "should": [
      {
        "bool": {
          "must": [
            {
              "wildcard": {
                "currency.keyword": "*oke*"
              }
            },
            {
              "wildcard": {
                "search_tags.keyword": "*BTC*USDT"
              }
            },
            {
              "term": {
                "record_type.keyword": "market"
              }
            }
          ]
        }
      },
      {
        "bool": {
          "must": [
            {
              "wildcard": {
                "currency.keyword": "*BTC*"
              }
            },
            {
              "wildcard": {
                "search_tags.keyword": "*oke*USDT"
              }
            },
            {
              "term": {
                "record_type.keyword": "market"
              }
            }
          ]
        }
      },
      {
        "bool": {
          "must": [
            {
              "wildcard": {
                "currency.keyword": "*USDT*"
              }
            },
            {
              "wildcard": {
                "search_tags.keyword": "*oke*BTC"
              }
            },
            {
              "term": {
                "record_type.keyword": "market"
              }
            }
          ]
        }
      }
    ]
  },
  "from": 0,
  "size": 20
}

Он возвращает ноль из моего индекса.

Но когда мой запрос:

{
  "query": {
    "bool": {
      "must": [
        {
          "wildcard": {
            "search_tags.keyword": "okexBTC*"
          }
        },
        {
          "wildcard": {
            "currency.keyword": "USD"
          }
        },
        {
          "term": {
            "record_type.keyword": "market"
          }
        }
      ],
      "must_not": [],
      "should": []
    }
  },
  "from": 0,
  "size": 10,
  "sort": [],
  "aggs": {}
}

, он возвращает что-то.

1 Ответ

0 голосов
/ 08 марта 2019

Если запросы в вашем примере верны, то вполне вероятно, что второй запрос может иметь попадания, тогда как первый запрос не имеет ни одного.Это связано с тем, что условие во втором запросе не соответствует ни одному из should случаев первого запроса.Просто посмотрите на условие "currency.keyword": "USD" второго запроса: это условие невозможно найти в первом запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...