关于使用讯搜(xunsearch)过程中遇到的坑
来源:互联网 发布:画册设计软件 编辑:程序博客网 时间:2024/06/08 17:00
1. 在xunsearch中按区间搜索的方法
`$search->addRange('字段名','from','to')`- 第一个参数为字段名- 第二个参数为区间的起点(如果为null,则代表不设置下限)- 第三个参数为区间的终点(如果为null,则代表不设置上限)
2. 在xunsearch中按字段排序的方法
`$search->setSort('字段名','true')`- 第一个参数为字段名(需要排序的字段,在配置文件中其类型必须设置为number)- 第二个参数设置排序方式,true为正序,false为倒序(注意,这里的参数是true/false而不是asc/desc)
3. 在xunsearch中addRange或者setSort等的不起作用的原因及解决方案
- 原因: setQuery() 相当于清除所有查询条件(这一点,我们可以在$search->search()的前后分别打印查询语句,对比判断)
- 解决方案:必须把 addRange, setSort 放在 setQuery 之后
$search->setQuery($q)->setLimit(...)->addRange(...)->setSort();
4. 关于如何解决xunsearch中总条数(getLastCount()/count())统计不准确的解决方案
- 在xunsearch中,往往会遇到第一页和最后几页统计的总条数不一样的情况(第一页统计的条数比后面的多).遇到这样情况,我们可以变相的通过统计最后一页的总条数来做到条数统一的目的
//获取首页总条数
$search->search();
$count1 = $search->getLastCount();
//跳转到最后,再次获取总条数
$page1 = ceil($count1/$rows);
$begin = ($page1-1)*$rows;
$search->setLimit($rows,$begin);
$search->search();
$count = $search->getLastCount();
//回到正常分页
$search->setLimit($rows,$begin_item);
$docs = $search->search();
5.只有区间查询时,addRange()无效的解决方案
原因:
由于不经过 setQuery 因此有些其它辅助的功能受到限制,比如不能进行结果高亮、不能通过 addWeight、addRange增加辅助搜索条件。
简单来说就是,使用addRange之前必须设置查询条件解决方案:在使用addRange()之前,先设置一个空条件查询:
$search->setQuery('');
根据手册介绍:空查询代表查询全部数据
6. 以后遇到了再补充…..
如果有写的不对的地方,欢迎指点.有其他问题也可以私信我
阅读全文
1 0
- 关于使用讯搜(xunsearch)过程中遇到的坑
- 关于不同的编译器使用过程中遇到的问题!
- 关于handsontable的使用过程中遇到的问题
- 关于ActivityGroup使用过程中遇到的一点问题
- 关于ActivityGroup使用过程中遇到的一点问题
- 关于FIR IP核使用过程中遇到的问题
- Glide使用过程中遇到的坑
- 使用jquery过程中遇到的坑
- 使用Realm过程中遇到的坑
- Thymeleaf使用过程中遇到的坑
- RabbitMQ使用过程中遇到的坑
- 使用AlertDialog过程中遇到的坑
- RxJava2使用过程中遇到的坑
- appium使用过程中遇到的坑
- 关于使用plugman添加自定义插件过程中遇到的坑
- coreseek和xunsearch的使用
- PHP搜索引擎xunsearch的使用
- 关于React使用中遇到的坑
- Mybatis @Param注解的作用
- Vue.js响应式原理
- 徐登沿的第二个程序(三位数的输出)(改正版)
- java数组
- 前端之css之单位
- 关于使用讯搜(xunsearch)过程中遇到的坑
- 扩屏双显示器一个清晰,另一个模糊的解决办法
- ASP.NET Core:部署项目到Ubuntu Server
- 用do-while语句编程实现累加功能
- spring 在web.xml 里面如何使用多个xml配置文件
- C#创建List存放匿名对象、遍历List、泛值取值
- 微信小程序 —— 上传文件到服务器(例:上传图片到服务器)
- li元素按中文首字母排序
- sphinx中文检索引擎coreseek+php+mysql搭建