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

发布于 2022-09-02 13:38:00 字数 1257 浏览 14 评论 0

//方案一:

$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);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文