SphinxSE 一些SQL查询语句

1、查询STRUCTURE_ID=106562并且COL1=2 或者 COL1=0 或者 COL2=2,对TS进行排序,从第10条开始取1000条。

SELECT ID FROM T_RESOURCE_BASE_SphinxSE WHERE query='select=IF(STRUCTURE_ID=106562,1,0) AND (IF(COL1=2,1,0) OR IF(COL1=0,1,0) OR IF(COL2=2,1,0)) as match_qq;filter= match_qq, 1;sort=attr_desc:TS;offset=10;limit=1000'

 

2、若AUTHOR,RESOURCE_TITLE,RESOURCE_CONTENTS三个字段都全文索引了,但只想搜RESOURCE_TITLE,或RESOURCE_CONTENTS中含有“交响曲”关键字的文章

SELECT t.id,t.resource_title FROM T_RESOURCE_BASE_SphinxSE as c ,t_resource_base t where c.id=t.id  and query='@RESOURCE_TITLE 交响曲 |@RESOURCE_CONTENTS 交响曲;mode=extended;limit=1000'

说明:要指定某个字段进行搜索,要用@字段名+空格+关键字+分号+mode=extended 如果不指定字段,则系统会对TITLE,CONTENTS进行搜索 ,对什么字段进行全文检索取决于在sphinx.conf中sql_query定义的select 中的字段(文本类型)

3、查询全部索引中含有交响曲或地球的数据,或者只查询RESOURCE_TITLE字段含有交响曲或地球的数据

SELECT t.id,t.resource_title FROM T_RESOURCE_BASE_SphinxSE as c ,t_resource_base t where c.id=t.id  and query='交响曲 | 地球;mode=extended;limit=1000'

SELECT t.id,t.resource_title FROM T_RESOURCE_BASE_SphinxSE as c ,t_resource_base t where c.id=t.id  and query='@RESOURCE_TITLE 交响曲 | 地球;mode=extended;limit=1000'

原文地址:https://www.cnblogs.com/kgdxpr/p/3635017.html