解决xunsearch热门搜索,不按照数量排序问题

Posted jiqing9006

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决xunsearch热门搜索,不按照数量排序问题相关的知识,希望对你有一定的参考价值。

public function getHotQuery($limit = 6, $type = 'total')
{
    $ret = array();
    $limit = max(1, min(50, intval($limit)));
    $this->xs->setScheme(XSFieldScheme::logger());
    try {
        $this->setDb(self::LOG_DB)->setLimit($limit);
        if ($type !== 'lastnum' && $type !== 'currnum') {
            $type = 'total';
        }
        // 加上下面这一句就OK了
        $this->setSort('total');
        $result = $this->search($type . ':1');
        foreach ($result as $doc) /* @var $doc XSDocument */ {
            $body = $doc->body;
            $ret[$body] = $doc->f($type);
        }
        $this->restoreDb();
    } catch (XSException $e) {
        if ($e->getCode() != XS_CMD_ERR_XAPIAN) {
            throw $e;
        }
    }
    $this->xs->restoreScheme();
    return $ret;
}
$this->setSort('total');

不正确的

{
    "errno": 0,
    "errdesc": "操作成功",
    "timestamp": 1576057980,
    "data": {
        "项目测试": "2",
        "俗话说": "1",
        "测试": "12",
        "项目": "1"
    }
}

正确的

{
    "errno": 0,
    "errdesc": "操作成功",
    "timestamp": 1576057928,
    "data": {
        "测试": "12",
        "项目测试": "2",
        "俗话说": "1",
        "项目": "1"
    }
}

以上是关于解决xunsearch热门搜索,不按照数量排序问题的主要内容,如果未能解决你的问题,请参考以下文章

js 对象按照键值(不分区大小写)排序,生成签名方法

Atitit 列表表格按照字段排序数据解决方案

54.字符串排序问题

网易云课堂_C语言程序设计进阶_第五周:递归与简单算法:递归搜索二分搜索简单排序_1逆序输出的数列

ElasticSearch调优篇 11 - 搜索结果震荡问题解决

五十 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索