日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sphinx-安装和配置

發布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sphinx-安装和配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本例是在Linux下, 環境 CentOS6.5 + PHP5.6.8 + MySQL5.6.13 + Sphinx2.3.1-beta

到官網下載對應環境的安裝包, 按照官方文檔指定步驟進行安裝

  第一種方式是采用API調用, 我們可以使用PHP, Python, Perl, Ruby等編程語言的API函數進行查詢, 這種方式不必重新編譯MySQL, 模塊間改動比較少, 相對靈活

  第二種需要重新編譯MySQL, 將Sphinx以插件的方式編譯到MySQL中去, 這種方式對程序改動比較少, 僅僅需要改動SQL語句即可, 但前提是你的MySQL版本必須在5.1以上

  Linux下源碼安裝:

    yum -y install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel

    ./configure --prefix /usr/local/sphinx --with-mysql=/usr/local/mysql? --enable-id64

    make && make install

  安裝完畢, 目錄如下:

    bin: 可執行文件目錄

      indexer 用來生成索引數據,?創建索引, 收集要被檢索的數據

      searchd 后臺進程, 使用 indexer 生成的數據做查詢

    etc: 配置文件目錄

    var: 索引等數據存放目錄

配置, Sphinx默認使用 etc/sphinx.conf, 如果沒有, 則拷貝sphinx.conf.dist一份到sphinx.conf:

#設置主數據源配置, 與增量數據源分開, 避免重復建立索引, 只為增量數據源建立索引即可 source src1 {type = mysql #數據庫類型sql_host = localhostsql_user = rootsql_pass =sql_db = testsql_port = 3306 # optional, default is 3306sql_sock = /tmp/mysqld.sock #如果是Linux下需要開啟, 指定sock文件sql_query_pre = SET NAMES utf8 #預執行語句sql_query_pre = SET SESSION query_cache_type=OFF #關閉緩存sql_query = \SELECT id, title, content FROM post #獲取數據的SQL語句sql_query_info = SELECT * FROM post WHERE id=$id #必須要有 此處id與sql_query中的id鍵名相同#sql_attr_uint = group_id #對排序字段進行注釋 原自帶表中的字段#sql_attr_timestamp = date_added #對排序字段進行注釋 原自帶表中的字段sql_ranged_throttle = 0 } #src1主數據源的增量數據源, 繼承主數據源 #source src1throttled : src1 #{ # sql_ranged_throttle = 100 #} #建立主數據索引test1 index test1 {source = src1 #索引的數據源path = /usr/local/sphinx/var/data/test1 #索引文件所放目錄docinfo = externdict = keywordsmlock = 0morphology = nonemin_word_len = 1html_strip = 0charset_type = utf-8charset_table = utf-8 } #主數據索引test1的增量數據索引 #index test1stemmed : test1 #{ # path = /usr/local/sphinx/var/data/test1stemmed # morphology = stem_en #} #建立主數據索引dist1 #index dist1 #{ ## type = distributed # local = test1 # local = test1stemmed # agent = localhost:9313:remote1 # agent = localhost:9314:remote2,remote3 # agent_connect_timeout = 1000 # agent_query_timeout = 3000 #} ##建立主數據索引rt #index rt #{ # type = rt # path = /usr/local/sphinx/var/data/rt # rt_field = title # rt_field = content # rt_attr_uint = gid #} #索引器的配置, 主要用來設置索引器所占內存 indexer {mem_limit = 128M } #服務進程的配置 searchd {listen = 9312listen = 9306:mysql41log = /usr/local/sphinx/var/log/searchd.logquery_log = /usr/local/sphinx/var/log/query.logread_timeout = 5client_timeout = 300max_children = 30persistent_connections_limit = 30pid_file = /usr/local/sphinx/var/log/searchd.pidseamless_rotate = 1preopen_indexes = 1unlink_old = 1mva_updates_pool = 1Mmax_packet_size = 8Mmax_filters = 256max_filter_values = 4096max_batch_queries = 32workers = threads # for RT to work} common { }

a

轉載于:https://www.cnblogs.com/JohnABC/p/4730515.html

總結

以上是生活随笔為你收集整理的Sphinx-安装和配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。