ホームページ >バックエンド開発 >PHPチュートリアル >下列四种搜索客户端实现中哪种写法更合理?
<code>//方案一: $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);</code>
<code>//方案一: $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);</code>