构建搜索语句 搜索查询力争做到简单明了,和目前最流行的搜索引擎做法极为相似,并不需要过多额外的修饰或语法。 您只要把您打算搜索的短语或关键词列出来即可,建议用空格连接多个词;在此基础上还支持字...
获取相关搜索词 相关搜索通常是作为当前搜索词的搜索建议出现在搜索结果的下方,引导用户发现其它 更具体、更符合要求的关键词。 相关搜索词使用 [XSSearch::getRelatedQuery] 方法,返回值是搜索词组成的数组。 接...
符合条件的索引共有161条,但offset不是最后一页的情况下,显示的total为 310条 [code]# php Quest.php ~/dev/config/search/question.ini --query="answered:0 AND (status:0 OR status:1)" --limit 120,30|head -n 1 在 1,525 条数据中,大约有 310 条包含 answered:0 AND (...
因为我的项目是电商网站,所以我自定义了一个词库,把我自己的品牌、商品类目名字给加进去了。 我希望是这样的搜索结果,比如搜索“迪卡侬蓝色货品”: 现在是这样的: [code]Xapian::Query(((迪卡侬:(pos=1) SYNONYM (迪卡:(po...
$search->setCharset('gbk'); 无效,输出来的还是uft-8;求助我错在那里? require '/usr/local/xunsearch/sdk/php/lib/XS.php'; $xs = new XS('allsource'); // 建立 XS 对象,项目名称为:demo $search = $xs->search; // 获取 搜索对象 $query = '部分'; // 这里的搜...
500万条数据可以分段来读取,比如每次10000条,就不会出现上面的php错误了。判断是不是某条数据是不是已经存在了,可以根据主键来判断是不是已存在,存在的跳过就可以了。例如: [php]$query = "id:1753"; $docs = $xs->search->search($q...
[XSException] /XSDataSource.class.php(794): SQLSTATE[42000] [1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1 #0 XSDataSource.class.php(454): XSDatabasePDO->query('select LIMIT 1') #1 XSD...
[XSException] /XSDataSource.class.php(794): SQLSTATE[42000] [1064] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 1' at line 1 #0 XSDataSource.class.php(454): XSDatabasePDO->query('select LIMIT 1') #1 XSD...
搜索概述 在索引库建立完成后,现在开始学习使用搜索功能,这也是最核心的部分。 如何开始使用搜索? --------------- 在 `PHP-SDK` 中,搜索功能由类型为 [XSSearch] 的对象所维护。在 [XS] 项目中,通过读取 [XS::search] 属性...
如下: 自定义分词字段 b_split_title [b_split_title] type = title tokenizer =coupon $search->setQuery( '(b_split_title:宠物 OR 宠物 ) AND b_city_id:31')->setlimit(1000000)->setFacets('b_tag_id')->search(); 打印: Xapian::Query(((or:(pos=1) AND 宠物:(pos=2) AND and:(pos=3) ...