عدد نتائج طلبات البحث

يمكنك استخدام طريقة matters.count لعدّ الرسائل من طلب بحث في Gmail أو "مجموعات Google" قبل إنشاء عملية تصدير. استخدِم هذه المعلومات لتنقيح فلاتر طلب البحث وعرض عدد أقل من النتائج.

لاستخدام موارد Google Vault، يجب أن يتوفّر في الحساب الـ امتيازات المطلوبة في Vault وإمكانية الوصول إلى المسألة القانونية. للوصول إلى مسألة قانونية، يجب أن يكون الحساب قد أنشأ المسألة القانونية أو أن تكون المسألة القانونية قد تمت مشاركتها معه أو أن يكون لديه امتياز عرض جميع المسائل القانونية.

يوضّح المثال التالي كيفية عدّ النتائج التي يعرضها طلب بحث عن الرسائل التي تستوفي المعايير التالية:

  • الرسائل التي تملكها الحسابات email1 وemail2
  • استبعاد الرسائل المسودة
  • الرسائل المرسَلة إلى ceo@solarmora.com

جافا

public Long count(Vault client, String matterId) {
  AccountInfo emailsToSearch = new AccountInfo().setEmails(ImmutableList.of("email1", "email2"));
  MailOptions mailQueryOptions = new MailOptions().setExcludeDrafts(true);
  String queryTerms = "to:ceo@solarmora.com";
  Query query =
    new Query()
      .setCorpus("MAIL")
      .setDataScope("ALL_DATA")
      .setSearchMethod("ACCOUNT")
      .setAccountInfo(emailsToSearch)
      .setTerms(queryTerms);
  CountArtifactsRequest request = new CountArtifactsRequest().setQuery(query);
  Operation operation = client.matters().count(matterId, request).execute();

  while(!operation.getDone()) {
    sleep(2000);
    operation = service.operations().get(operation.getName()).execute();
  }
  if(operation.getResponse() != null) {
    return Long.parseLong(operation.getResponse.get("total_count").toString());
  }
  return -1;
}
 

Python

def count(service, matter_id):
  emails_to_search = ['email1', 'email2']
  mail_query_options = {'excludeDrafts': True}
  query_terms = 'to:ceo@solarmora.com'
  mail_query = {
    'corpus': 'MAIL',
    'dataScope': 'ALL_DATA',
    'searchMethod': 'ACCOUNT',
    'accountInfo': {
        'emails': emails_to_search
    },
    'terms': query_terms,
    'mailOptions': mail_query_options,
  }
  request = {
    'query': mail_query
  }
  operation = service.matters().count(matterId=matter_id, body=request).execute()

  while not operation.getDone():
    time.sleep(2)
    operation = service.operations().get(name=operation.getName()).execute()

  if operation.getResponse() is None:
    return -1

  return operation.getResponse()["total_count"]