2013-04-01 34 views
2

我已經對允許特殊字符(#,@,!,&, ),%)在獅身人面像搜索關鍵字..如何在Sphinx中允許特殊字符(#,@,!,&,(,),%)作爲搜索關鍵字

請建議我..

下面是配置文件,

/* *啓動/

source dbserver 
{ 
    type     = mysql 
    sql_host    = localhost 
    sql_user    = root 
    sql_pass    = 
    sql_db     = mydb 
    #sql_sock    = /var/run/mysqld/mysqld.sock 
    sql_port    = 3306 
} 


searchd 
{ 
    listen     = localhost:3312 
    # port     = 9313 
    log      =      /* some searchd.log path */ 
    query_log    =     /* some query.log path */ 
    pid_file    =     /* some searchd.pid path */ 
    max_matches    = 10000 
    seamless_rotate   = 0 
} 


source adsearch : mydbserver 
{ 
    sql_query_post   = REPLACE INTO sph_tracker SELECT 1,'ad',CURRENT_TIMESTAMP; 

    sql_ranged_throttle  = 1 
    sql_attr_uint   = networkid 
    sql_attr_uint   = folderid 
    sql_attr_uint   = createdby 
    sql_attr_uint   = status 
    sql_attr_timestamp  = createdon 
} 

index index_adsearch 
{ 
    source     = adsearch 
    path     =   /* some path */ 
    morphology    = stem_en 
    min_word_len   = 0 
    #min_prefix_len   = 5 
    min_infix_len   = 2 
    enable_star    = 1 
    preopen     = 1 
} 

source delta_adsearch : adsearch 
{ 
    sql_query = DELETE FROM ad where status='Deleted' AND deleteflag='Y'        
} 

index delta_index_adsearch : index_adsearch 
{ 
    source     = delta_adsearch 
    path     =    /* some path */ 
} 

source tmplsearch : mydbserver 
{ 
    sql_query_post   = REPLACE INTO sph_tracker SELECT 2,'template',CURRENT_TIMESTAMP; 


    sql_ranged_throttle  = 1 
    sql_attr_uint   = networkid 
    sql_attr_uint   = industryid 
    sql_attr_uint   = status 
    sql_attr_timestamp  = createdon 
    sql_attr_timestamp  = startdate 
    sql_attr_timestamp  = enddate 
    sql_attr_uint   = active 
    sql_attr_uint = primarysize 
} 

index index_tmplsearch 
{ 
    source     = tmplsearch 
    path     =    /* some path */ 
    morphology    = stem_en 
    min_word_len   = 0 
    #min_prefix_len   = 5 
    min_infix_len   = 2 
    enable_star    = 1 
    preopen     = 1 
} 

source delta_tmplsearch : tmplsearch 
{ 
    sql_query = DELETE FROM adtemplate where status='Deleted' AND deleteflag='Y'        
} 

index delta_index_tmplsearch : index_tmplsearch 
{ 
    source     = delta_tmplsearch 
    path     =    /* some path */ 
} 


source media_assets_search : mydbserver 
{ 
    #sql_query_post   = REPLACE INTO sph_tracker SELECT 3,'media',CURRENT_TIMESTAMP; 

    sql_ranged_throttle  = 1 
    sql_attr_uint   = networkid 
    sql_attr_uint   = mediatype 
    sql_attr_uint   = mediacat 
    sql_attr_uint   = uploadedby 
    sql_attr_uint   = active  
    sql_attr_uint   = industryid   
    sql_attr_timestamp  = uploaddate 
    sql_attr_uint   = diskstore 
} 

index index_media_assets_search 
{ 
    source     = media_assets_search 
    path     =    /* some path */ 
    morphology    = stem_en 
    min_word_len   = 0 
    #min_prefix_len   = 5 
    min_infix_len   = 2 
    enable_star    = 1 
    preopen     = 1 
} 

source delta_media_assets_search : media_assets_search 
{ 

} 

index delta_index_media_assets_search : index_media_assets_search 
{ 
    source     = delta_media_assets_search 
    path     =     /* some path */ 
} 

/* *結束/

請看看這一點,並建議我..

感謝,

納古..

回答

0

你需要將它們添加到charset_table裏配置。

您可能還想確保轉義查詢以避免被誤解爲搜索語法。

雖然確實也blend_chars讀了

+0

感謝巴里.., 但在我的配置文件,也沒有定義charset_table裏。那我該怎麼辦。我試圖粘貼該配置文件的代碼與此評論..但在這裏它沒有考慮,由4941字符顯示太長..在這裏我也沒有得到一個上傳文件的選項。你能給我建議嗎? – Nagalingesha

+0

如果你沒有,你可以添加一個。 http://sphinxsearch.com/docs/current.html#conf-charset-table只需編輯你的問題,SO就像維基,如果你真的需要分享它,就可以添加你的配置。 – barryhunter

+0

你好巴里.., 我編輯了我的問題與配置文件代碼。請看看並建議我。 謝謝, Nagu。 – Nagalingesha