下列四种搜索客户端实现中哪种写法更合理?

WBOY
풀어 주다: 2016-06-06 20:11:31
원래의
902명이 탐색했습니다.

<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>
로그인 후 복사
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!