2011-08-08 51 views
0

我有一個文本文件的獅身人面像索引,我想檢索索引文本文件時找到的關鍵字Sphinx列表,按照數據集中頻率的高低排序,從最高到最低排序。我該怎麼做呢?如何從Sphinx索引中檢索最頻繁出現的關鍵字?

如果可能的話,我想檢索真正的術語和詞幹。

我正在使用PHP API來調用索引。

下面是這個指數我的sphinx.conf設置:

source srcDatasheets 
{ 
    type    = mysql 
    sql_host   = localhost 
    sql_user   = user 
    sql_pass   = pass 
    sql_db    = db 
    sql_port   = 3306 

    sql_query   = \ 
     SELECT id, company_id, title, brief, content_file_path \ 
     FROM datasheets 

    sql_attr_uint  = company_id 
    sql_file_field  = content_file_path 
    sql_query_info  = SELECT * FROM datasheets WHERE id=$id 
} 


index datasheets 
{ 
    source    = srcDatasheets 
    path    = /usr/local/sphinx/var/data/datasheetsStemmed 
    docinfo    = extern 
    charset_type  = sbcs 
    morphology   = stem_en 
    min_stemming_len = 1 
} 

回答

0

一個人不能從與獅身人面像活指數直接檢索關鍵字密度。數據不以允許的方式存儲。這裏是a response from the Sphinx forums

但是,您可以執行的操作是使用--buildstops和--buildfreqs(see the docs)運行索引器。索引器將根據您在.conf文件中爲該索引設置的設置輸出最常出現的術語和頻率的txt文件。

這處理數據集以創建列表和文本文件,並且實際上並不創建新的可搜索索引。

我對文本文件(轉換後的pdf)的索引進行了測試,最小字長和最小字符長度爲5個字符。約20秒內處理70,000個文件(5分鐘,最小字符數限制設置爲1)。