QueryDSL _id запрос в скрипте - PullRequest
0 голосов
/ 27 июня 2018

Я использую Elasticsearch & Kibana v5.6 и в devTools, я могу использовать скрипт в querydsl для запроса документа на имя поля = значение, то есть:

GET indexA/_search
{
  "query":{ "script":{ "script": """
     def a = doc['field1'].value;
     return a == 'value1';
  """}}
}

Выше будет возвращать все документы, которые имеют 'value1' в качестве значения в поле с именем 'field1'. Но я не могу искать по _id, официальный документ говорит, что до v6 мы должны использовать вместо этого _uid, поэтому я попробовал это без удачи. Я использую скрипт, потому что после того, как я смогу использовать _uid для получения значения _id, по сути, я хочу провести сравнение значений, подобное приведенному ниже:

GET indexA/_search
{
  "query":{ "script":{ "script": """
     def a = doc['field1'].value;
     def b = doc['_uid'].value;
     return a == b;
  """}}
}

Я думаю, что devTools - то, где я хочу выполнить это вместо других мест. Любые указатели приветствуются

1 Ответ

0 голосов
/ 27 июня 2018

Вы ссылаетесь на документ Query Id или этот , но при развертывании в неправильном контексте вам необходимо определить идентификаторы в отдельной главе ids или поставить под term поле _id.

...