亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

SphinxSE檢索語法

2024-07-21 02:52:00
字體:
來源:轉載
供稿:網友

SphinxSE檢索語法

要通過SphinxSE搜索,您需要建立特殊的ENGINE=SPHINX的“搜索表”,然后使用SELECT語句從中檢索,把全文查詢放在WHERE子句中。

CREATE TABLE t1(    id          INTEGER UNSIGNED NOT NULL,    weight      INTEGER NOT NULL,    query       VARCHAR(3072) NOT NULL,    group_id    INTEGER,    INDEX(query)) ENGINE=SPHINX CONNECTION="sphinx://localhost:9312/test";SELECT * FROM t1 WHERE query='test it;mode=any';

搜索表前三列(字段)的類型必須是INTEGER UNSINGED(或者 BIGINT),INTEGER(或者 BIGINT)和VARCHAR(或者 TEXT),這三列分別對應文檔ID,匹配權值和搜索查詢。這前三個列的映射關系是固定的,你不能忽略這三列中的任何一個,或者移動其位置,或者改變其類型。搜索查詢列必須被索引,其他列必須無索引。列的名字會被忽略,所以可以任意命名。除此之外,其他列(字段)的類型必須是INTEGER、TIMESTAMP、BIGINT、VARCHAR或者FLOAT之一。它們必須與Sphinx結果集中提供的屬性按名稱綁定,即它們的名字必須與sphinx.conf中指定的屬性名(sql_field_string)一一對應。如果Sphinx搜索結果中沒有某個屬性名,該列的值就為NULL.特殊的“虛擬”屬性名也可以與SphinxSE列綁定。但特殊符號@用_sph_代替。例如,要取得@group和@count虛屬性,列名應使用_sph_group和_sph_count??梢允褂米址畢礐ONNECTION來指定用這個表搜索時的默認搜索主機、端口號和索引。如果CREATE TABLE中沒有使用連接(connection)串,那么默認使用索引名“*”(搜索所有索引)和localhost:9312。連接串的語法如下:CONNECTION=“sphinx:HOST:PORT/INDEXNAME”默認的連接串也可以后面改變:ALTER TABLE t1 CONNECTION=“sphinx:NEWHOST:NEWPORT/NEWINDEXNAME”; 也可以在查詢中覆蓋 

如例子所示,查詢文本和搜索選項都應放在WHERE子句中對query列的限制中(即第三列),選項之間用分號分隔,選項名與選項值用等號隔開??梢灾付ㄈ我鈹的康倪x項??捎玫倪x項如下:

基本語法

query – 查詢文本;mode – 匹配模式.必須是 “all”, “any”, “phrase”, “boolean”, 或者 “extended” 之一。默認為 “all”;sort – 匹配項排序模式 必須是 “relevance”, “attr_desc”, “attr_asc”, “time_segments”, 或者 “extended” 之一。除了“relevance”模式,其他模式中還必須在一個冒號后附上屬性名(或“extended”模式中的排序子句):... WHERE query='test;sort=attr_asc:group_id';... WHERE query='test;sort=extended:@weight desc, group_id asc';offset – 結果集中的偏移量,默認是0;limit – 從結果集中獲取的匹配項數目,默認為20;index – 待搜索的索引:... WHERE query='test;index=test1;';... WHERE query='test;index=test1,test2,test3;';minid, maxid – 匹配文檔ID的最小值和最大值;weights – 逗號分隔的列表,指定Sphinx全文數據字段的權值:... WHERE query='test;weights=1,2,3;';filter, !filter – 逗號分隔的列表,指定一個屬性名和一系列可匹配的屬性值:# only include groups 1, 5 and 19... WHERE query='test;filter=group_id,1,5,19;';# exclude groups 3 and 11... WHERE query='test;!filter=group_id,3,11;';range, !range – 逗號分隔的列表,指定一個屬性名和該屬性可匹配的最小值和最大值:# include groups from 3 to 7, inclusive... WHERE query='test;range=group_id,3,7;';# exclude groups from 5 to 25... WHERE query='test;!range=group_id,5,25;';maxmatches – 此查詢最大匹配的數量:... WHERE query='test;maxmatches=2000;';groupby – 分組(group-by)函數和屬性:... WHERE query='test;groupby=day:published_ts;';... WHERE query='test;groupby=attr:group_id;';groupsort – 分組(group-by)排序子句:... WHERE query='test;groupsort=@count desc;';indexweights – 逗號分隔的列表,指定一系列索引名和搜索時這些索引對應的權值:... WHERE query='test;indexweights=idx_exact,2,idx_stemmed,1;';非常重要的注意事項:讓Sphinx來對結果集執行排序、過濾和切片(slice)要比提高最大匹配項數量然后在MySQL端用WHERE、ORDER BY和LIMIT子句完成對應的功能來得高效得多。這有兩方面的原因。首先,Sphinx對這些操作做了一些優化,比MySQL效率更高一些。其次,searchd可以打包更少的數據,SphinxSE也可以傳輸和解包更少的數據。但目前并不適合itdida,因為我們還有狀態菜單及左側分組

從版本0.9.9-rc1開始,除了結果集,額外的查詢信息可以用SHOW ENGINE SPHINX STATUS語句獲得: mysql> SHOW ENGINE SPHINX STATUS;+--------+-------+-------------------------------------------------+| Type   | Name  | Status                                          |+--------+-------+-------------------------------------------------+| SPHINX | stats | total: 25, total found: 25, time: 126, Words: 2 | | SPHINX | words | sphinx:591:1256 soft:11076:15945                | +--------+-------+-------------------------------------------------+2 rows in set (0.00 sec)查詢狀態信息可以通過狀態變量名來訪問。值得提醒的是,訪問這些信息不需要超級用戶權限。mysql> SHOW STATUS LIKE 'sphinx_%';+--------------------+----------------------------------+| Variable_name      | Value                            |+--------------------+----------------------------------+| sphinx_total       | 25                               | | sphinx_total_found | 25                               | | sphinx_time        | 126                              | | sphinx_word_count  | 2                                | | sphinx_words       | sphinx:591:1256 soft:11076:15945 | +--------------------+----------------------------------+5 rows in set (0.00 sec)可以對SphinxSE搜索表和其他引擎的表之間使用JOIN,以下是一個例子,例中“documents”來自example.sql:mysql> SELECT content, date_added FROM test.documents docs-> JOIN t1 ON (docs.id=t1.id) -> WHERE query="one document;mode=any";+-------------------------------------+---------------------+| content                             | docdate             |+-------------------------------------+---------------------+| this is my test document number two | 2006-06-17 14:04:28 | | this is my test document number one | 2006-06-17 14:04:28 | +-------------------------------------+---------------------+2 rows in set (0.00 sec)mysql> SHOW ENGINE SPHINX STATUS;+--------+-------+---------------------------------------------+| Type   | Name  | Status                                      |+--------+-------+---------------------------------------------+| SPHINX | stats | total: 2, total found: 2, time: 0, words: 2 | | SPHINX | words | one:1:2 document:2:2                        | +--------+-------+---------------------------------------------+2 rows in set (0.00 sec)

示例代碼

CREATE TABLE `sph_index` (  `id` bigint(20) unsigned NOT NULL,  `weight` int(11) NOT NULL,  `query` varchar(1024) NOT NULL,  `group_id` int(11) DEFAULT NULL COMMENT '查詢語名',  `uuid` varchar(32) DEFAULT NULL COMMENT '返回Entity的uuid',  KEY `query` (`query`)) ENGINE=SPHINX DEFAULT CHARSET=utf8select sph.*, yd.* from sph_index sphleft join tbl yd on uuid = tbl.idwhere query='@* "20",@str_field1 -"日本";filter=int_field,12,11;range=timestamp_field,1418371200,1481529600;range=int_field,10,20; index=sph_yd;mode=extended;limit=40;sort=extended:crated_time desc';
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品有码在线| 日韩免费观看视频| 国产精品久久99久久| 国产美女久久精品香蕉69| 国产精品久久久久免费a∨| 91久久久久久国产精品| 亚洲精品国产免费| 欧美大胆在线视频| 国产精品视频一区二区高潮| 不卡在线观看电视剧完整版| 欧美国产日韩一区二区在线观看| 狠狠色噜噜狠狠狠狠97| 亚洲社区在线观看| 国模私拍视频一区| 欧美黄色成人网| 欧美一区二粉嫩精品国产一线天| 91亚洲一区精品| 亚洲精品黄网在线观看| 久久成人国产精品| 色狠狠久久aa北条麻妃| 欧美激情中文字幕乱码免费| 日韩av在线一区| 国产乱人伦真实精品视频| 亚洲欧美国产精品va在线观看| 亚洲欧美一区二区三区四区| 国产极品精品在线观看| 亚洲自拍欧美色图| 性欧美暴力猛交69hd| 亚洲xxxxx性| 久久99热精品这里久久精品| 国产精品第一第二| 91精品久久久久久| 最近2019免费中文字幕视频三| 久久九九亚洲综合| 日韩电影中文字幕| 国产精品激情av电影在线观看| 青草成人免费视频| 国外视频精品毛片| 亚洲美女激情视频| 欧美电影在线观看| 最近2019中文字幕一页二页| 色综合久久精品亚洲国产| 国产一区二区三区在线观看网站| 日韩在线观看免费高清完整版| 国产精品一区二区久久国产| 国产深夜精品福利| 欧美激情视频一区二区三区不卡| 亚洲第一国产精品| 国产精品一区二区久久久| 黑人与娇小精品av专区| 亚洲乱码一区av黑人高潮| 欧美精品久久一区二区| 全色精品综合影院| 色爱av美腿丝袜综合粉嫩av| 欧美大秀在线观看| 中文字幕综合一区| 91高潮精品免费porn| 亚洲国产成人久久综合| 2021国产精品视频| 中文国产成人精品久久一| 亚洲国产又黄又爽女人高潮的| 国产欧美日韩91| 国产精品激情av电影在线观看| 国产精品爱久久久久久久| 日韩在线视频中文字幕| 久久中文字幕国产| 色婷婷综合成人av| 久久频这里精品99香蕉| 在线丨暗呦小u女国产精品| 亚洲精品国产综合区久久久久久久| 成人乱人伦精品视频在线观看| 久久久久久九九九| 久久久av免费| 欧美老少做受xxxx高潮| 8x拔播拔播x8国产精品| 亚洲最大av在线| 中文字幕亚洲二区| 久久久久久伊人| 日韩精品高清在线观看| 亚洲人成五月天| 91精品国产91久久久| 亚洲综合成人婷婷小说| 欧美一区在线直播| 少妇激情综合网| 欧美精品在线看| 亚洲丁香久久久| 国产精品免费久久久久影院| 国产精品久久久久久av福利软件| 亚洲欧洲在线免费| 亚洲第一网站男人都懂| 亚洲美女在线观看| 国产一区二区三区直播精品电影| 日韩欧美精品在线观看| 日韩av免费在线| 影音先锋欧美在线资源| 欧美在线xxx| 欧美日韩国产一区二区| 欧美激情视频给我| 成人免费看黄网站| 日韩中文字幕在线视频播放| 国产综合香蕉五月婷在线| 91精品国产高清久久久久久久久| 欧美xxxx14xxxxx性爽| 欧美黑人狂野猛交老妇| 国产精品日韩精品| 91欧美日韩一区| 亚洲人成在线播放| 欧美激情视频在线免费观看 欧美视频免费一| 欧美精品国产精品日韩精品| 欧美精品福利视频| 高清日韩电视剧大全免费播放在线观看| 国产成人精品一区二区三区| 欧美激情日韩图片| 国产精品极品尤物在线观看| 日韩免费在线免费观看| 亚洲xxxx做受欧美| 日韩高清av一区二区三区| 亚洲视频在线观看网站| 精品久久久91| 亚洲女人天堂网| 69视频在线播放| 亚洲片在线观看| 日韩在线观看免费全| 国产精品露脸av在线| 精品国产91久久久久久| 午夜免费在线观看精品视频| 一道本无吗dⅴd在线播放一区| 欧洲日本亚洲国产区| 国产日产久久高清欧美一区| 亚洲一级一级97网| 久久av红桃一区二区小说| 日韩美女视频中文字幕| 免费97视频在线精品国自产拍| 亚洲黄色在线看| 日韩av成人在线观看| 国内精品久久久久伊人av| 久久久成人精品视频| 91福利视频在线观看| 久久久久久av| 欧美精品videos另类日本| 91欧美精品成人综合在线观看| 亚洲成av人影院在线观看| 亚洲色图第三页| 国产精品情侣自拍| 精品欧美aⅴ在线网站| 激情成人在线视频| 91欧美视频网站| 色悠悠久久久久| 精品国产乱码久久久久久虫虫漫画| 国外日韩电影在线观看| 欧美日韩成人在线播放| 黑人狂躁日本妞一区二区三区| 蜜臀久久99精品久久久无需会员| 美女撒尿一区二区三区| 国产精品久久一区| 91精品久久久久久久久久久久久久| 亚洲国产精品一区二区三区| 中文字幕欧美精品在线| 亚洲欧美日韩一区二区在线| 国产精品第1页| 在线观看国产欧美| 中文字幕亚洲欧美一区二区三区| 欧美激情乱人伦一区| 日韩精品亚洲视频|