إحصاء نتائج طلبات البحث

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

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

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

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

Java

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"]