鏁堟灉棰勮錛?br />
1錛?http://www.zikii.com/ 榪欎釜緗戠珯 涔熸槸鍩轟簬 sphinx 瀹炵幇鐨?br />
2錛屾垜鐨?br />

鐢變簬欏圭洰闇瑕侊紝闇瑕佸疄鐜扮珯鍐呮悳绱紝鍏ㄦ枃媯绱㈠拰 涓枃鍒嗚瘝 鍔熻兘錛屾渶鍚庨夊瀷浜?sphinx + libmmseg + thinking_sphinx 錛?鎶樿吘浜嗗ソ澶т竴浼氾紝鏈鍚庢祴璇曟垚鍔?br />
sphinx 鏄縿鍥戒漢寮鍙戠殑opensourse 鎼滅儲寮曟搸錛岀儲寮曢熷害寰堝揩錛?libmmseg 鏄腑鍥戒漢寮鍙戠殑涓枃鍒嗚瘝紼嬪簭錛宼hinking_sphinx 鏄皝瑁呰皟鐢╯phinx鐨剅ails plugin
涓嬮潰鐢ㄥ埌鐨勬墍鏈夎祫婧?鎵撳寘涓嬭澆錛?br />
http://www.uushare.com/user/fl1429/file/2043579
1錛岄」鐩殑鎵鏈夌殑婧愮爜緙栬瘧瀹夎 錛?鍏ㄩ儴縐誨埌 /root 涓嬭繘琛?鍑℃槸鍑虹幇鏉冮檺涓嶅鐨勶紝 鍦ㄥ懡浠ゅ墠鍔犱笂 sudo
2錛屽畨瑁?libmmseg
./configure
make
make install
鍏蜂綋鍙互鍙傝冿細
http://www.coreseek.cn/opensource/mmseg/
3,瀹夎 ruby 鎵╁睍錛岃繘鍏?mmseg ruby 鐩綍涓?錛堟敞鎰忔渶鍚庨潰鏈変竴涓偣錛?br />
cd ruby
cp /usr/local/include/mmseg/*.h .
cp ../src/*.h .
cp ../src/css/*.h .
ruby extconf.lin.rb
make
sudo make install
鎴愬姛鐨勮瘽錛屽彲浠ュ埌irb涓嬶紝嫻嬭瘯鐪嬬湅鏄惁鎴愬姛浜?br />
irb
require 'mmseg'
娉ㄦ剰:濡傛灉鍦ㄨ繖涓姝ュ嚭閿?涓斿嚭閿欐彁紺轟負錛?br />
css/UnigramCorpusReader.cpp:89: error: ’strncmp’ was not declared in this scope
鍒欓渶鎵嬪伐緙栬緫.src/css鐩綍涓婾nigramCorpusReader.cpp 鏂囦歡,鍦ㄥ叾絎竴琛屽姞涓?br />
#include <string.h>
鐒跺悗閲嶆柊 make,鍗沖彲閫氳繃
4錛屽垱寤鴻緸鍏告枃浠?br />
榪涘叆 mmseg 鐨?data 鐩綍涓?br />
mmseg -u unigram.txt
鎶婄敓鎴愮殑鏂囦歡鍚嶆敼涓?uni.lib
5,瀹夎sphinx (鎶婁袱涓ˉ涓佹斁鍏?瑙e帇鍚?鐨?sphinx涓?
cd sphinx-0.9.8-rc2
patch -p1 < sphinx-0.98rc2.zhcn-support.patch 錛僷atch涓枃琛ヤ竵
patch -p1 < fix-crash-in-excerpts.patch # patch 闃瞔rash 琛ヤ竵
Copy mmseg瀹夎鏂囦歡澶逛笅 src/csr_typedefs.h 鍜?br />
src/css/SegmenterManager.h 鍒癝phinx瀹夎鏂囦歡澶逛笅鐨?src
鏂囦歡澶逛笅
./configure
make
sudo make install
娉ㄦ剰錛氬鏋滃湪榪欎竴姝ュ嚭鐜?br />
/usr/local/include/mmseg/freelist.h:22: error: ‘strlen’ was not declared in this scope
鐨勯敊璇紝鎵嬪伐淇敼 /usr/local/mmseg/include/mmseg/freelist.h
鍦ㄤ笂闈㈡坊鍔?br />
#include <string.h>
浠ヤ笂鐨勯厤緗?sphinx 灝辨敮鎸?涓枃鍒嗚瘝 鎼滅儲浜嗐傘傘?br />
Demo:
1,渚濈収 Ryan 鐨勪緥瀛?閰嶇疆 濂藉熀鏈殑鑻辨枃鎼滅儲
http://railscasts.com/episodes/120-thinking-sphinx
2錛岄噸鐐規槸 model 閲岀殑 瀹氫箟绱㈠紩
define_index do
indexes content
indexes :name, :sortable => true
indexes comments.content, :as => :comment_content
indexes [author.first_name, author.last_name], :as => :author_name
has author_id, created_at
end
3錛屾妸涓婇潰鐢熸垚鐨?uni.lib 杈炲吀鏂囦歡 鎷峰叆 欏圭洰鐨?lib 涓?錛堟垨鑰呭埆鐨勫湴鏂癸紝鐪嬩綘閰嶇疆閲岀殑charset_dictpath鐨?涓嶇紪璇戠殑璇濓紝鍙互鐢ㄥ埆浜虹幇鎴愮殑uni.lib錛?br />
4錛屽湪欏圭洰鐨?config 涓嬫柊寤轟竴涓?sphinx.yml 鏂囦歡
development: &my_settings
enable_star: 1
min_prefix_len: 0
min_infix_len: 2
min_word_len: 1
max_results: 70000
morphology: none
listen: localhost:3312
charset_dictpath: /home/feng/RailsProject/Search/lib
test:
<<: *my_settings
production:
<<: *my_settings
涓婇潰鐨?br />
/home/feng/RailsProject/Search/lib 鍙互鍐欐垚 "#{RAILS_ROOT}/lib"
5錛岀敓鎴愰厤緗枃浠?br />
rake ts:config
榪欐牱config 涓嬩細鐢熸垚涓涓?development.sphinx.conf 鏂囦歡
鎵懼埌 charset_type = utf-8 鎶婂悗闈?utf-8 淇敼涓?zh_cn.utf-8,騫跺湪涓嬮潰娣誨姞濡備笅璇彞
charset_dictpath = /home/feng/RailsProject/Search/lib 錛堜綘宸ョ▼鐨刲ib璺緞錛?br />
6錛屽緩绔嬬儲寮?br />
rake ts:index INDEX_ONLY=true
娉ㄦ剰鍚庨潰蹇呴』娣誨姞 INDEX_ONLY=true涓嶇劧鐨勮瘽錛岄厤緗枃浠朵細琚噸緗?榪樻湁涓嶈鍐欐垚 INDEX_ONLY = true
7錛屽惎鍔╯phinx鏈嶅姟
rake ts:start
8,鍚姩webrick
娉ㄦ剰錛宻phinx 蹇呴』鍦╳ebrick鐨勫墠闈?鍏堝惎鍔?br />
鎴戠殑demo欏圭洰錛屽叾瀹炲氨鏄笂闈yan 鐨勶紝涓嬭澆鍚庡彲浠ョ湅鍒版垜鐨勫叿浣撻厤緗紝鎴栬呰緇嗙殑鍐呭
http://www.uushare.com/user/fl1429/file/2043752
ref:
http://wiki.github.com/cogentsoft/zbs/180787
http://www.javaeye.com/topic/431217?page=1
http://www.javaeye.com/topic/196451
http://blog.sina.com.cn/s/blog_412d58ec010090pq.html
http://freelancing-god.github.com/ts/en/rake_tasks.html

]]>