2015-01-09 57 views
1

如何使用Solr數學運算或函數查詢爲查詢返回的所有文檔的每個單詞添加術語頻率(tf)值?從多個文檔中添加術語頻率(Solr)

我知道有些方法可以使用java迭代地添加術語向量,但如果索引很大或內存有限,可能需要很長時間。 Solr具有原始術語頻率值和添加正常字段值的能力,所以我認爲它應該能夠添加術語頻率,我只是不知道如何。

此外,我不知道什麼是提前的單詞,每個文件可以有任何組合的單詞。

此doc結果:

"docs": [ 
    { 
    "id": 0, 
    "content": [ 
     "FOO FOO BAR" 
    ], 
    }, 
    { 
    "id": 0, 
    "content": [ 
     "FOO BAR" 
    ], 
    }, 
]},"termVectors": [ 
"uniqueKeyFieldName", 
[ 
    "0", 
    [ 
    "FOO", 
    [ 
     "tf", 
     2 
    ], 
    "BAR", 
    [ 
     "tf", 
     1 
    ], 
],"1", 
    [ 
    "FOO", 
    [ 
     "tf", 
     1 
    ], 
    "BAR", 
    [ 
     "tf", 
     1]]} 

,我想這樣的事情,而不是:

{"frequencies":{ 
"FOO" : 3 
"BAR" : 2 
} 


更新: 我現在使用Java,因爲我不是一個編程方法確定認爲SOLR支持這種開箱即用的操作。

回答

0

totaltermfreq or ttf提供了術語在索引中出現的總次數。

+0

是的,我發現這些,他們是有益的,但不是我在找什麼。我只查找由查詢返回的文檔的術語頻率總和,而不是整個索引。 – user22490234 2015-01-10 16:27:26

0

你已經考慮過「facet」的功能嗎?

+0

我不相信方面是我在找什麼,因爲我無法爲我的主要內容(我是頻率的內容)創建額外的分面的領域。這將有效地加倍我的索引的大小,這是太多的磁盤空間。 – user22490234 2015-01-12 15:14:10