下列四種搜尋用戶端實現中哪種寫法更合理?

來源:互聯網
上載者:User
關鍵字 php 設計模式
//方案一:$mustFilter = Filter::getMustFilter();$shouldFilter = Filter::getShouldFilter();$notMustFilter = Filter::getNotMustFilter();$queryFilter = Filter::getQueryFilter();$mustFilter    ->setTerm($termParmas)    ->setTerms($termsParmas)    ->setRange($rangeParams);$queryParams = Filter::init($alias)    ->addFilter($mustFilter)    ->addFilter($shouldFilter)    ->addFilter($notMustFilter)    ->addFilter($queryFilter)    ->setSort($sortParams)    ->setLimit($from, $size)    ->build();$result = Searcher::search($queryParams);//方案二:Eql::getInstance()    ->setMust()        ->add('goog', 'eq', 1)        ->add('a', '>', 2)    ->setShould()        ->add('goog', 'eq', 1)        ->add('a', '>', 2)    ->query('keyword');//方案三:Eql::query([    ['a','eq', 1, 'must'],    ['b','eq', 1, 'must'],    ['c','eq', 1, 'should'],    ['d','eq', 1, 'should'],]);//方案四:$searcher = Searcher::getInstance();$query = new Query();$query->setMustCondition($mustCondition)      ->setMustNotCondition($mustNotCondition)      ->setSort($sortCondition)      ->setPageSize(10)      ->getPage(1);$result = $searcher->search($query);

回複內容:

//方案一:$mustFilter = Filter::getMustFilter();$shouldFilter = Filter::getShouldFilter();$notMustFilter = Filter::getNotMustFilter();$queryFilter = Filter::getQueryFilter();$mustFilter    ->setTerm($termParmas)    ->setTerms($termsParmas)    ->setRange($rangeParams);$queryParams = Filter::init($alias)    ->addFilter($mustFilter)    ->addFilter($shouldFilter)    ->addFilter($notMustFilter)    ->addFilter($queryFilter)    ->setSort($sortParams)    ->setLimit($from, $size)    ->build();$result = Searcher::search($queryParams);//方案二:Eql::getInstance()    ->setMust()        ->add('goog', 'eq', 1)        ->add('a', '>', 2)    ->setShould()        ->add('goog', 'eq', 1)        ->add('a', '>', 2)    ->query('keyword');//方案三:Eql::query([    ['a','eq', 1, 'must'],    ['b','eq', 1, 'must'],    ['c','eq', 1, 'should'],    ['d','eq', 1, 'should'],]);//方案四:$searcher = Searcher::getInstance();$query = new Query();$query->setMustCondition($mustCondition)      ->setMustNotCondition($mustNotCondition)      ->setSort($sortCondition)      ->setPageSize(10)      ->getPage(1);$result = $searcher->search($query);
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.