php应用sphinx接口进行排序

排序模式可使用如下模式对搜索结果排序:

SPH_SORT_RELEVANCE 模式, 按相关度降序排列(最好的匹配排在最前面)

SPH_SORT_ATTR_DESC 模式, 按属性降序排列 (属性值越大的越是排在前面)

SPH_SORT_ATTR_ASC 模式, 按属性升序排列(属性值越小的越是排在前面)

SPH_SORT_TIME_SEGMENTS 模式, 先按时间段(最近一小时/天/周/月)降序,再按相关度降序

SPH_SORT_EXTENDED 模式, 按一种类似SQL的方式将列组合起来,升序或降序排列。

SPH_SORT_EXPR 模式,按某个算术表达式排序
//使用属性排序

//以fromid倒序排序,注意当再次使用SetSortMode会覆盖上一个排序

$sphinx->SetSortMode ( "SPH_SORT_ATTR_DESC", ‘fromid‘);

//如果要使用多个字段排序可使用SPH_SORT_EXTENDED模式

//@id是sphinx内置关键字,这里指emailid,至于为什么是emailid,自己思考一下

$sphinx->SetSortMode ( "SPH_SORT_ATTR_DESC", ‘fromid ASC, toid DESC, @id DESC‘);

//执行搜索

$result = $sphinx->query(‘关键字‘, ‘*‘);
时间: 2025-01-05 22:23:15

php应用sphinx接口进行排序的相关文章

Java comparable接口 对象排序

前面写了一篇文章是关于comparator的,那么comparable就必须拿出来做了分析对比. 关于这俩个接口的文章也比较多,本文着重从完整的代码示例去展现说明. OK 首先,还是看下Comparator这里接口的代码: public interface Comparable<T> { /** * Compares this object with the specified object for order. Returns a * negative integer, zero, or a

Comparable接口比较排序 示例

package cn.caijiajia.campaignnew.job; import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Book implements Comparable{ /*编写一个类Book,具有name,price,press,author属性.然后创建5个对象放入ArrayList中,并实现按照price大小排序(使用Comparable接口排序)

C# 使用接口进行排序

接口的定义是指定一组函数成员而不实现成员的引用类型,其它类型和接口可以继承接口.定义还是很好理解的,但是没有反映特点,接口主要有以下特点: (1)通过接口可以实现多重继承,C#接口的成员不能有public.protected.internal.private等修饰符.原因很简单,接口里面的方法都需要由外面接口实现去实现方法体,那么其修饰符必然是public.C#接口中的成员默认是public的,java中是可以加public的. (2)接口成员不能有new.static.abstract.ove

自定义类签发校验token-实现多方式登录-自定义反爬类-admin后台表管理字段自定义-群查接口-搜索-排序-分页

目录 复习 今日 签发token 校验token 案例:实现多方式登陆签发token 案例:自定义认证反爬规则的认证类 admin使用自定义User表:新增用户密码密文 群查接口各种筛选组件数据准备 drf搜索过滤组件 drf排序过滤组件 drf基础分页组件 复习 """ 频率组件:限制接口的访问频率 源码分析:初始化方法.判断是否有权限方法.计数等待时间方法 自定义频率组件: class MyThrottle(SimpleRateThrottle): scope = 'sm

php对sphinx接口的查询模式

有如下可选的匹配模式: SPH_MATCH_ALL, 匹配所有查询词(默认模式); SPH_MATCH_ANY, 匹配查询词中的任意一个; SPH_MATCH_PHRASE, 将整个查询看作一个词组,要求按顺序完整匹配; SPH_MATCH_BOOLEAN, 将查询看作一个布尔表达式 SPH_MATCH_EXTENDED, 将查询看作一个CoreSeek/Sphinx内部查询语言的表达式 . 从版本Coreseek 3/Sphinx 0.9.9开始, 这个选项被选项SPH_MATCH_EXTEN

java中的类实现comparable接口 用于排序

import java.util.Arrays; public class SortApp { public static void main(String[] args) { Student[] stus = new Student[3]; stus[0] = new Student(11, 99); stus[1] = new Student(13, 92); stus[2] = new Student(13, 89); Arrays.sort(stus); for (Student stu

php应用sphinx接口相关操作

//emailid的范围 $sphinx->SetIdRange($min, $max); //属性过滤,可过滤的属性必需在配置文件中设置sql_attr_ ,之前我们定义了这些 sql_attr_uint = fromid sql_attr_uint = toid sql_attr_timestamp = sendtime //如果你想再次修改这些属性,配置完成后记得重新建立索引才能生效 //指定一些值 $sphinx->SetFilter('fromid', array(1,2)); //

JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序

一.描述 自定义的类要按照一定的方式进行排序,比如一个Person类要按照年龄进行从小到大排序,比如一个Student类要按照成绩进行由高到低排序. 这里我们采用两种方式,一种是使用Comparable接口:让待排序对象所在的类实现Comparable接口,并重写Comparable接口中的compareTo()方法,缺点是只能按照一种规则排序. 另一种方式是使用Comparator接口:编写多个排序方式类实现Comparator接口,并重写新Comparator接口中的compare()方法,

c# 内部类使用接口IComparer实现排序

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 内部类使用接口实现排序 { class Person { private string _name; private int _age; public Person(string name, int age) { _name = name; _ag