Эластичный поисковый запрос для пары столбцов имя / значение

Некоторые приложения сами обрабатывают эти инструкции, вызывая что-то вроде этого:

error_reporting(E_ALL & ~E_DEPRECATED); or error_reporting(0);

И, таким образом, переопределение настроек .htaccess.

0
задан slavoo 17 January 2019 в 13:35
поделиться

1 ответ

Если поле envelopeData.details.detail имеет тип , вложенный , то вы можете выполнить запрос на совпадение для нужного имени на вложенном пути и использовать inner_hits . ], чтобы получить только значение.

Сопоставить поле envelopeData.details.detail как вложенное (если не вложенное):

PUT stackoverflow
{
  "mappings": {
    "_doc": {
      "properties": {
        "envelopeData.details.detail": {
          "type": "nested" 
        }
      }
    }
  }
}

, затем вы можете выполнить следующий запрос, чтобы получить значение, используя inner_hits [ 1111]:

GET stackoverflow/_search
{
  "_source": "false", 
  "query": {
    "nested": {
      "path": "envelopeData.details.detail",
      "query": {
        "match": {
          "envelopeData.details.detail.name.keyword": "UC_CORP"
        }
      }, 
      "inner_hits": {
        "_source": "envelopeData.details.detail.value"
      }
    }
  }
}

который выводит:

{
  "_index": "stackoverflow",
  "_type": "_doc",
  "_id": "W5GUW2gB3GnGVyg-Sf4T",
  "_score": 0.6931472,
  "_source": {},
  "inner_hits": {
    "envelopeData.details.detail": {
      "hits": {
        "total": 1,
        "max_score": 0.6931472,
        "hits": [
          {
            "_index": "stackoverflow",
            "_type": "_doc",
            "_id": "W5GUW2gB3GnGVyg-Sf4T",
            "_nested": {
              "field": "envelopeData.details.detail",
              "offset": 0
            },
            "_score": 0.6931472,
            "_source": {
              "value": "76483"  -> Outputs value only
            }
          }
        ]
      }
    }
  }
}
0
ответ дан TechnocratSid 17 January 2019 в 13:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: