1. 程式人生 > >Ubuntu系統,搭建mysql+sphinx環建

Ubuntu系統,搭建mysql+sphinx環建

本文介紹下如何在ubuntu系統中,利用apt工具,搭建mysql+sphinx的全文檢索環境。

一 安裝mysql

1 更新源列表

開啟"終端視窗",輸入"sudo apt-get update"-->回車-->"輸入root使用者的密碼"-->回車,就可以了。如果不執行該命令,直接安裝mysql,會出現"有幾個軟體包無法下載,您可以執行apt-get update------"的錯誤提示,導致無法安裝。

2 安裝mysql

開啟"終端視窗",輸入"sudo apt-get install mysql-server mysql-client"-->回車-->輸入"y"-->回車-->在"軟體包設定對話方塊"中輸入mysql中"root"使用者的密碼-->回車-->再輸一次密碼-->回車,安裝完成。

3 如何判斷mysql是否安裝成功

開啟"終端視窗",輸入"sudo service mysql restart"-->回車-->如果mysql啟動成功,處於執行狀態說明mysql安裝成功。

4 讓apache支援mysql

開啟"終端視窗",輸入"sudo apt-get install libapache2-mod-auth-mysql"-->回車-->安裝成功,安裝這個模組後,apache才能支援mysql。

5 讓php支援mysql

開啟"終端視窗",輸入"sudo apt-get install php5-mysql"-->回車-->安裝成功,安裝這個模組後,php才能支援mysql。

6 登入mysql

開啟"終端視窗",輸入"mysql -u root -p"-->回車-->輸入mysql中"root"使用者的密碼-->回車-->登入成功。

二安裝sphinx

       01、安裝全文搜尋引擎 Sphinx 前,必須先安裝 MySQL server 並設定資料庫 root 使用者(參考步驟一)

       02、使用 apt-get 方法直接安裝 Sphinx:

  1. apt-get install sphinxsearch
複製程式碼        03、建立全文搜尋引擎 Sphinx 的配置檔案:
  1. cp /etc/sphinxsearch/sphinx.conf.sample /etc/sphinxsearch/sphinx.conf
  2. vi /etc/sphinxsearch/sphinx.conf
複製程式碼               配置全文搜尋引擎 Sphinx 的配置檔案:
  1. sql_user = test
  2. sql_pass =
  3. # compat_sphinxql_magics = 1
複製程式碼               將以上程式碼改為
  1. sql_user = root
  2. sql_pass = 您的資料庫 root 使用者密碼
  3. compat_sphinxql_magics = 0
複製程式碼        04、開啟 sphinxsearch 功能:
  1. vi /etc/default/sphinxsearch
複製程式碼               將其中的
  1. START=no
複製程式碼               改為
  1. START=yes
複製程式碼        05、建立 test 資料庫:
  1. root:~# mysql -u root -p
  2. Enter password: 鍵入您的資料庫 root 使用者密碼
  3. Welcome to the MySQL monitor.  Commands end with ; or \g.
  4. Your MySQL connection id is 20177
  5. Server version: 5.5.40-0ubuntu0.14.04.1 (Ubuntu)
  6. Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
  7. Oracle is a registered trademark of Oracle Corporation and/or its
  8. affiliates. Other names may be trademarks of their respective
  9. owners.
  10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  11. mysql>create database test;
  12. Query OK, 1 row affected (0.00 sec)
  13. mysql> use test;
  14. Reading table information for completion of table and column names
  15. You can turn off this feature to get a quicker startup with -A
  16. Database changed
  17. mysql> exit
  18. Bye
  19. root:~#
複製程式碼        06、將 test 資料庫範例檔案
  1. /etc/sphinxsearch/example.sql
複製程式碼               下載到本地計算機

       07、匯入example.sql

mysql -u root -p你的root密碼 -Dtest < /etc/sphinxsearch/example.sql

              說明 example.sql 檔案匯入 test 資料庫成功

       08、建立全文搜尋引擎 Sphinx 的索引:
  1. indexer --all
複製程式碼 1.jpg
        09、啟動全文搜尋引擎 Sphinx 服務:
  1. root:~# service sphinxsearch start
  2. Starting sphinxsearch: Sphinx 2.0.4-id64-release (r3135)
  3. Copyright (c) 2001-2012, Andrew Aksyonoff
  4. Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
  5. using config file '/etc/sphinxsearch/sphinx.conf'...
  6. listening on all interfaces, port=9312
  7. listening on all interfaces, port=9306
  8. precaching index 'test1'
  9. precaching index 'test1stemmed'                             
  10. WARNING: multiple addresses found for 'localhost', using the first one (ip=127.0.0.1)
  11. precaching index 'rt'
  12. precached 3 indexes in 0.001 sec
  13. sphinxsearch.
  14. root:~# 
複製程式碼        10、測試搜尋 EN 單詞 test
  1. root:~# /usr/bin/search test
  2. Sphinx 2.0.4-id64-release (r3135)
  3. Copyright (c) 2001-2012, Andrew Aksyonoff
  4. Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)
  5. using config file '/etc/sphinxsearch/sphinx.conf'...
  6. index 'test1': query 'test ': returned 3 matches of 3 total in 0.000 sec
  7. displaying matches:
  8. 1. document=1, weight=2421, group_id=1, date_added=Mon Dec 22 15:30:18 2014
  9.     id=1
  10.     group_id=1
  11.     group_id2=5
  12.     date_added=2014-12-22 15:30:18
  13.     title=test one
  14.     content=this is my test document number one. also checking search within phrases.
  15. 2. document=2, weight=2421, group_id=1, date_added=Mon Dec 22 15:30:18 2014
  16.     id=2
  17.     group_id=1
  18.     group_id2=6
  19.     date_added=2014-12-22 15:30:18
  20.     title=test two
  21.     content=this is my test document number two
  22. 3. document=4, weight=1442, group_id=2, date_added=Mon Dec 22 15:30:18 2014
  23.     id=4
  24.     group_id=2
  25.     group_id2=8
  26.     date_added=2014-12-22 15:30:18
  27.     title=doc number four
  28.     content=this is to test groups
  29. words:
  30. 1. 'test': 3 documents, 5 hits
  31. index 'test1stemmed': query 'test ': returned 3 matches of 3 total in 0.000 sec
  32. displaying matches:
  33. 1. document=1, weight=2421, group_id=1, date_added=Mon Dec 22 15:30:18 2014
  34.     id=1
  35.     group_id=1
  36.     group_id2=5
  37.     date_added=2014-12-22 15:30:18
  38.     title=test one
  39.     content=this is my test document number one. also checking search within phrases.
  40. 2. document=2, weight=2421, group_id=1, date_added=Mon Dec 22 15:30:18 2014
  41.     id=2
  42.     group_id=1
  43.     group_id2=6
  44.     date_added=2014-12-22 15:30:18
  45.     title=test two
  46.     content=this is my test document number two
  47. 3. document=4, weight=1442, group_id=2, date_added=Mon Dec 22 15:30:18 2014
  48.     id=4
  49.     group_id=2
  50.     group_id2=8
  51.     date_added=2014-12-22 15:30:18
  52.     title=doc number four
  53.     content=this is to test groups
  54. words:
  55. 1. 'test': 3 documents, 5 hits
  56. index 'rt': search error: failed to open /var/lib/sphinxsearch/data/rt.sph: No such file or directory.
  57. root:~#
複製程式碼        11、好啦,一切 OK

三測試