elasticSearch 查询工具类

旧街凉风 提交于 2020-01-20 18:27:44

elasticSearch 查询工具类

<?php
namespace common\tools;

use Yii;
use yii\base\Model;
use Elasticsearch\ClientBuilder;
/**
 * @desc elasticSearch 查询工具类
 * @date 2019年11月11日14:23:29
 * must should 的区别:
 * must : 对于给定的搜索字符串,在搜索结果中必须包含改搜索字符串中包含的字符,filter条件无效 如:filter搜素有数据 字符串收缩无数据 最终会显示无数据
 * should : 对于给定的搜索字符串,在搜索结果中不必须包含改搜索字符串中包含的字符 与filter有关 如:filter搜素有数据 字符串收缩无数据 最终会显示filter中的数据
 */
class Es
{
    const ES_MATCH_OPERATOR_OR = 'or';

    const ES_MATCH_OPERATOR_AND = 'and';

    //const ES_MATCH_HIGHLIGHT_TAT_PRE = ['('];
    const ES_MATCH_HIGHLIGHT_TAT_PRE = '(';

    //const ES_MATCH_HIGHLIGHT_TAT_POST = [')'];
    const ES_MATCH_HIGHLIGHT_TAT_POST = ')';

    const ES_MATCH_SEARCH_MODEL_MATCH = 'match';

    const ES_MULTI_MATCH_SEARCH_MODEL_MATCH = 'multi_match';

    const ES_MATCH_SEARCH_MODEL_BOOL = 'bool';

    private $_hosts = [];

    protected $_index = '';

    private $_client = null;

    private $_params = [];

   
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!