程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> sphinx coreseek 初探

sphinx coreseek 初探

編輯:關於PHP編程

遇到了一些問題也都在上面的網站中找到了答案

下面是我的索引配置文件mysql.conf的內容


[php]
source mysql 

    type                = mysql 
 
    sql_host                = localhost 
    sql_user                = root 
    sql_pass                = mfy 
    sql_db                = zlk 
    sql_port                = 3306 
    sql_query_pre            = SET NAMES utf8 
 
    sql_query                = SELECT id,pic_id,city,captionwriter,countryname,title,description,contenttype,generator,author,keyword,language,datecreatedline  FROM picture_info 
                                                              #sql_query第一列id需為整數 
                                                              #title、content作為字符串/文本字段,被全文索引 
   # sql_attr_uint            = id           #從SQL讀取到的值必須為整數 
   sql_attr_uint            = pic_id           #從SQL讀取到的值必須為整數 
   sql_attr_timestamp        = datecreatedline #從SQL讀取到的值必須為整數,作為時間屬性 
   # sql_attr_str2ordinal       = title 
 

 
#index定義 
index mysql 

    source            = mysql             #對應的source名稱 
    path            = /usr/local/coreseek/var/data/mysql 
 
    docinfo            = extern 
    mlock            = 0 
    morphology        = none 
    min_word_len        = 1 
    min_infix_len =1 
    html_strip                = 0 
    charset_dictpath = /usr/local/mmseg3/etc/    #BSD、Linux環境下設置,/符號結尾 
    #charset_dictpath = etc/                        #Windows環境下設置,/符號結尾 
    charset_type        = zh_cn.utf-8 

#全局index定義 
indexer 

    mem_limit           = 2G 

 
 
searchd 

       listen                                   = 9312 
       max_matches                              = 10000 
       pid_file                                 = /usr/local/coreseek/var/log/searchd_mysql.pid 
       log                                      = /usr/local/coreseek/var/log/searchd_mysql.log 
       query_log                                = /usr/local/coreseek/var/log/query_mysql.log 

source mysql
{
    type                = mysql

    sql_host                = localhost
    sql_user                = root
    sql_pass                = mfy
    sql_db                = zlk
    sql_port                = 3306
    sql_query_pre            = SET NAMES utf8

    sql_query                = SELECT id,pic_id,city,captionwriter,countryname,title,description,contenttype,generator,author,keyword,language,datecreatedline  FROM picture_info
                                                              #sql_query第一列id需為整數
                                                              #title、content作為字符串/文本字段,被全文索引
   # sql_attr_uint            = id           #從SQL讀取到的值必須為整數
   sql_attr_uint            = pic_id           #從SQL讀取到的值必須為整數
   sql_attr_timestamp        = datecreatedline #從SQL讀取到的值必須為整數,作為時間屬性
   # sql_attr_str2ordinal       = title

}

#index定義
index mysql
{
    source            = mysql             #對應的source名稱
    path            = /usr/local/coreseek/var/data/mysql

    docinfo            = extern
    mlock            = 0
    morphology        = none
    min_word_len        = 1
    min_infix_len =1
    html_strip                = 0
    charset_dictpath = /usr/local/mmseg3/etc/    #BSD、Linux環境下設置,/符號結尾
    #charset_dictpath = etc/                        #Windows環境下設置,/符號結尾
    charset_type        = zh_cn.utf-8
}
#全局index定義
indexer
{
    mem_limit           = 2G
}


searchd
{
       listen                                   = 9312
       max_matches                              = 10000
       pid_file                                 = /usr/local/coreseek/var/log/searchd_mysql.pid
       log                                      = /usr/local/coreseek/var/log/searchd_mysql.log
       query_log                                = /usr/local/coreseek/var/log/query_mysql.log
}

 

 

寫好索引文件後需要建立索引,然後再建立進程就可以使用php的api了。

建立索引的命令:

 /usr/local/coreseek/bin/indexer -c etc/mysql.conf mysql

 /usr/local/coreseek/bin/indexer -c 索引配置文件地址 索引名字


如果需要重新建立索引則要在上面語句的最後加上 --rotate 參數

 /usr/local/coreseek/bin/indexer -c etc/mysql.conf mysql --rotate

 

 

使用命令搜索:

/usr/local/coreseek/bin/search -c etc/mysql.conf  "測試"


 /usr/local/coreseek/bin/indexer -c 索引配置文件地址 要搜索的關鍵字

 

啟動服務進程:

/usr/local/coreseek/bin/searchd -c etc/mysql.conf


我測試的時候只能建立一個服務想建立另一個服務的時候需要將上一個服務關掉才行

例如我現在已經開啟了一個服務服務 是csft.conf 的,那麼我用

ps -ef | grep core

可以看到結果中有

root     11730     1  0 14:33 pts/0    00:00:00 /usr/local/coreseek/bin/searchd -c etc/csft.conf


這個一行,這時就需要先關掉csft.conf才行

/usr/local/coreseek/bin/searchd -c etc/csft.conf --stop


這是才可以重新建立mysql.conf 的服務

 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved