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

首頁 > CMS > PhpCMS > 正文

phpcms中使用sphinx全文索引教程

2024-09-10 07:16:20
字體:
來源:轉載
供稿:網友

Sphinx是一個基于SQL的全文檢索引擎,可以結合MySQL,PostgreSQL做全文搜索,它可以提供比數據庫本身更專業的搜索功能,使得應用程序更容易實現專業化的全文檢索。Sphinx特別為一些腳本語言設計搜索API接口,如PHP,Python,Perl,Ruby等,同時為MySQL也設計了一個存儲引擎插件

phpcms sphinx全文索引教程

英文介紹:http://www.sphinxsearch.com/docs/manual-0.9.9.html

一、首先需要在服務器上安裝sphinx

在Windows上安裝sphinx

1.下載支持mysql的包 http://www.sphinxsearch.com/downloads/sphinx-0.9.9-win32.zip

2.解壓縮 sphinx-0.9.9-win32.zip 到 D:\sphinx

3.安裝sphinx服務,在命令行執行命令

D:\sphinx\searchd –install –config d:\sphinx\sphinx.conf –servicename SphinxSearch

英文參照:http://www.sphinxsearch.com/docs … #installing-windows

1.下載源碼包 http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz

  1. $ tar xzvf sphinx-0.9.8.tar.gz 
  2. $ cd sphinx 
  3. $ ./configure –prefix=/usr/local/sphinx –with-mysql=/usr/local/mysql 
  4. $ make 
  5. $ make install 

常見問題1

  1. /usr/local/sphinx-0.9.9/src/sphinx.cpp:20060: undefined reference to libiconv_open' 
  2. /usr/local/sphinx-0.9.9/src/sphinx.cpp:20078: undefined reference to libiconv‘  //開源軟件:Vevb.com 
  3. /usr/local/sphinx-0.9.9/src/sphinx.cpp:20084: undefined reference to libiconv_close' 
  4. collect2: ld returned 1 exit status 
  5. make[2]: *** [indexer] Error 1 
  6. make[2]: Leaving directory /home/jling/sphinx-0.9.9/src’ 
  7. make[1]: *** [all] Error 2 
  8. make[1]: Leaving directory `/home/jling/sphinx-0.9.9/src‘ 
  9. make: *** [all-recursive] Error 1 

解決辦法:打開configure文件,找到“#define USE_LIBICONV 1”,將注釋去掉,并將1改成0.

常見問題2

error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory

解決辦法:

64位系統ln -s /usr/local/webserver/mysql/lib/mysql/libmysqlclient.so.16.0.0 /usr/lib64/libmysqlclient.so.16

32位系統ln -s /usr/local/webserver/mysql/lib/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so.16

sphinx.conf樣例

  1. source main 
  2. type     = mysql    #數據庫類型 
  3. sql_host    = 10.228.134.211 #數據庫ip 
  4. sql_user    = admin    #數據庫用戶名 
  5. sql_pass    = admin    #數據庫密碼 
  6. sql_db     = phpcms_v9   #數據庫名 
  7. sql_port    = 3306    # 數據庫端口 
  8.   sql_query_pre = SET NAMES utf8 
  9. sql_query_pre = REPLACE INTO v9_sphinx_counter SELECT 1, MAX(searchid) FROM v9_search 
  10. sql_query = SELECT searchid, adddate, siteid, typeid, id, data FROM v9_search \ 
  11. WHERE searchid>=$start AND searchid<=$end 
  12. sql_query_range  = SELECT 1,max_doc_id FROM v9_sphinx_counter WHERE counter_id=1 
  13. sql_range_step = 5000 
  14.   #字符串屬性設置、需要過濾、排序的時候用到 
  15. sql_attr_uint  = typeid 
  16. sql_attr_uint  = siteid 
  17. sql_attr_uint  = id 
  18. sql_attr_timestamp  = adddate 
  19. sql_query_info  = SELECT * FROM v9_search WHERE searchid=$id 
  20.  source delta 
  21. type     = mysql    #數據庫類型 
  22. sql_host    = 10.228.134.211 #數據庫ip 
  23. sql_user    = admin    #數據庫用戶名 
  24. sql_pass    = admin    #數據庫密碼 
  25. sql_db     = phpcms_v9   #數據庫名 
  26. sql_port    = 3306    # 數據庫端口 
  27.      sql_query_pre = SET NAMES utf8 
  28. sql_query = SELECT searchid, adddate, siteid, typeid, id, data FROM v9_search \ 
  29. WHERE searchid >( SELECT max_doc_id FROM v9_sphinx_counter WHERE counter_id=1 ) 
  30. sql_query_post = REPLACE INTO v9_sphinx_counter SELECT 1, MAX(searchid) FROM v9_search 
  31. #字符串屬性設置、需要過濾、排序的時候用到 
  32. sql_attr_uint  = typeid 
  33. sql_attr_uint  = siteid 
  34. sql_attr_uint  = id 
  35. sql_attr_timestamp  = adddate 
  36. sql_query_info  = SELECT * FROM v9_search WHERE searchid=$id 
  37.  #主索引 
  38. index main 
  39. source = main 
  40. # 放索引的目錄 
  41. path = D:\sphinx\data\main 
  42. # 編碼 
  43. charset_type = utf-8 
  44. # 指定utf-8的編碼表 
  45. charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F 
  46. # 簡單分詞,只支持0和1,如果要搜索中文,請指定為1 
  47. ngram_len = 1 
  48. # 需要分詞的字符,如果要搜索中文,去掉前面的注釋 
  49. ngram_chars   = U+3000..U+2FA1F 
  50.  #增量索引 
  51. index delta 
  52. source = delta 
  53. path = D:\sphinx\data\delta 
  54. # 編碼 
  55. charset_type = utf-8 
  56. # 指定utf-8的編碼表 
  57. charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F 
  58. # 簡單分詞,只支持0和1,如果要搜索中文,請指定為1 
  59. ngram_len = 1 
  60. # 需要分詞的字符,如果要搜索中文,去掉前面的注釋 
  61. ngram_chars   = U+3000..U+2FA1F 
  62.  indexer 
  63. mem_limit    = 128M 
  64.  searchd 
  65. port     = 9312 
  66. log      = D:\sphinx\data\phpcms\searchd.log 
  67. query_log    = D:\sphinx\data\phpcms\query.log 
  68. read_timeout   = 5 
  69. max_children   = 30 
  70. pid_file    = D:\sphinx\data\phpcms\searchd.pid 
  71. max_matches    = 2000 
  72. seamless_rotate   = 0 
  73. preopen_indexes   = 0 
  74. unlink_old    = 1 

附件:設置計劃任務更新索引

1.windows下

需要設置計劃任務

  1. #凌晨4點合并索引,執行merge.bat 
  2. #其余時間每分鐘更新索引,執行delta.bat 
  3. merge.bat 
  4.  
  5. @ECHO off 
  6. D:\sphinx\bin\indexer.exe –config D:\sphinx\sphinx.conf –merge main delta –rotate 
  7. echo indexing, window will close when complete 
  8.  
  9. delta.bat 
  10.  @ECHO off 
  11. D:\sphinx\bin\indexer.exe –config D:\sphinx\sphinx.conf delta –rotate 
  12. echo indexing, window will close when complete 
  13. 2.linux下編輯定時任務 crontab -e 
  14.  
  15. #凌晨4點合并索引,其余時間每分鐘更新索引 
  16. * 0-3 * * * /usr/local/sphinx/bin/indexer –config /usr/local/sphinx/etc/sphinx.conf delta –rotate 
  17. * 6-23 * * * /usr/local/sphinx/bin/indexer –config /usr/local/sphinx/etc/sphinx.conf delta –rotate 
  18. 0 4 * * * /usr/local/sphinx/bin/indexer –config /usr/local/sphinx/etc/sphinx.conf –merge main delta –rotate 

各種路徑、權限需要應用所在服務器一致,如:

sphinx.conf 中需要配置

sql_host 數據庫主機地址

sql_user 數據庫用戶名

sql_pass 數據庫密碼

sql_db 數據庫名

sql_port 數據庫端口

phpcms表前綴樣例中為phpcms_

索引路徑 D:\sphinx\data\delta

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97香蕉久久夜色精品国产| 欧美午夜影院在线视频| 日韩精品免费综合视频在线播放| 亚洲一区二区久久| 日韩国产在线看| 欧美精品videos性欧美| 黑人极品videos精品欧美裸| 精品一区二区电影| 日本亚洲欧洲色α| 国产精品久久999| 主播福利视频一区| 久久久精品国产亚洲| 日韩久久免费视频| 国产91成人video| 亚洲欧美国产高清va在线播| 久久国产精品久久精品| 91在线视频一区| 国产精品美女免费看| 久久99亚洲精品| 欧美日韩国产va另类| 国产精品久久久久久久9999| 国产精品一区二区三区久久久| 97超碰色婷婷| 91av视频导航| 黑人巨大精品欧美一区免费视频| 久久精品这里热有精品| 国产精品久久一| 欧美激情免费在线| 国产精品爱久久久久久久| 欧美猛交ⅹxxx乱大交视频| 性金发美女69hd大尺寸| 久久国产加勒比精品无码| 国产精品欧美日韩久久| 国产日韩换脸av一区在线观看| 久久精品一本久久99精品| 亚洲第一网中文字幕| 成年无码av片在线| 日韩福利伦理影院免费| 国产精品xxxxx| 欧美激情二区三区| 日韩激情视频在线播放| 亚洲一区二区三区四区在线播放| 日韩av免费看| 国产成人精品一区| 国产精品成人一区| 欧美综合国产精品久久丁香| 欧美在线一级va免费观看| 欧美激情视频网| 在线看日韩av| 亚洲精品久久久久久下一站| 久久精品成人一区二区三区| 久久久久久成人精品| 国产欧美精品在线播放| 亚洲国产精品久久久久秋霞不卡| 久久久久久久久久久人体| 欧美成人全部免费| 久久国产精品久久久久久| 日韩精品高清视频| 亚洲毛茸茸少妇高潮呻吟| 国产热re99久久6国产精品| 亚洲精品久久视频| 日本久久中文字幕| 在线播放国产精品| 亚洲成人教育av| 久久精品视频网站| 久久久久久中文| 欧美一级片在线播放| 国产一区二区三区高清在线观看| 国产欧美一区二区三区久久人妖| 91沈先生在线观看| 97国产一区二区精品久久呦| 国产成人综合av| 中文字幕免费国产精品| 欧美国产第二页| 综合欧美国产视频二区| 亚洲精品白浆高清久久久久久| 亚洲国产精品网站| 欧美另类极品videosbestfree| 91精品国产一区| 91精品久久久久久久久中文字幕| 国产精品色悠悠| 精品国产欧美成人夜夜嗨| 国产亚洲精品va在线观看| 欧美极品xxxx| 亚洲免费小视频| 日韩欧美在线中文字幕| 亚洲福利视频专区| 1769国内精品视频在线播放| 国产精品免费观看在线| 国产日本欧美一区二区三区在线| 国产欧美在线观看| 国产精品高潮呻吟久久av野狼| 日韩免费在线播放| 欧美另类99xxxxx| 国产成人精彩在线视频九色| 欧美亚洲免费电影| 国产精品白丝av嫩草影院| 蜜臀久久99精品久久久无需会员| 日韩高清电影好看的电视剧电影| 国产在线视频一区| 欧美成人精品在线| 欧美日韩性生活视频| 在线播放日韩av| 国产成人精品免高潮在线观看| 久久久久久久久久久国产| 亚洲美女在线看| 日韩中文字幕欧美| 久久久久久香蕉网| 欧美成人精品一区二区三区| 成人自拍性视频| 亚洲精品免费av| 96pao国产成视频永久免费| 久久福利视频网| 国产日韩欧美综合| 午夜精品久久久99热福利| 国产欧美精品一区二区三区-老狼| 欧美美女18p| 日韩免费观看视频| 欧洲日韩成人av| 欧美一区二区三区四区在线| 国产精品人人做人人爽| 成人精品一区二区三区电影黑人| 成人免费视频xnxx.com| 在线观看欧美日韩| 亚洲片在线观看| 日韩av三级在线观看| 国产精品精品久久久| 亚洲精品国产精品国产自| 日本精品一区二区三区在线播放视频| 裸体女人亚洲精品一区| 日韩激情视频在线| 亚洲美女在线看| 日韩av观看网址| 在线成人免费网站| 欧美精品在线免费观看| 国产精品久久av| 国产亚洲欧洲高清| 欧美精品xxx| 成人国产精品一区| 日韩视频亚洲视频| 国产一区二区激情| 欧美激情视频播放| 欧美性感美女h网站在线观看免费| 国产国语videosex另类| 欧美疯狂xxxx大交乱88av| 在线视频日韩精品| 日韩在线观看你懂的| 欧美亚洲第一页| 欧美日韩在线观看视频| 欧美极品在线播放| 久久91精品国产91久久久| 中文字幕欧美国内| 亚洲欧美中文日韩在线| 成人亲热视频网站| 欧美日韩在线视频首页| 亚洲欧美精品一区| 456国产精品| 日韩亚洲一区二区| 欧美日韩中国免费专区在线看| 国产精品国产三级国产aⅴ浪潮| 亚洲欧美日韩中文视频| 深夜福利日韩在线看| 久久成人精品一区二区三区| 欧美国产日韩一区二区|