2012-01-26 22 views
2

我在以下示例中使用SOLR 4.x termfreq功能在字段CONTENTS中查找「autozero放大器」。termfreq短語

http://localhost:8080/solr/select/?fl=contents,documentPageId,termfreq%28contents,%27autozero%20amplifiers%27%29&defType=func&q=termfreq%28contents,%27autozero%20amplifiers%27%29&fq=documentId%3A49667

我得到零頻率下段包含短語「自動歸零放大器」。

我必須對solrconfig.xml或schema.xml做些什麼才能對短語使用termfreq而不只是一個詞「放大器」?

+3

你知道我們不能訪問你的'localhost',對吧? – Ryan

回答

2

除非讓Lucene將「自動調零放大器」視爲一個術語,否則不能使用術語向量來獲得您正在尋找的內容。您可以使用KeywordTokenizerFactory進行索引,這實際上不會標記字,它將整個文本流保存爲一個標記。但是,例如,如果您感興趣的字段包含以下文本,

"The quick brown fox jumps over the lazy dog" 

如何定義術語邊界?

The quick 
The quick brown 
quick brown 
quick brown fox jumps 
over the lazy dog 
..... 

組合對於單一的有價值的價值領域呈指數增長。由於我一直在回答有關與term vectors有關的一些問題,所以我猜測您正在嘗試彎曲Solr/Lucene來計算大文檔中的單詞/單詞集合。您可以考慮將Solr與Hadoop集成,讓Hadoop爲您做好所有計數。哎呀!每個Hadoop示例都會討論字數&行數.. Solr + Hadoop = Big Data Love或者您可以在自己的應用程序層中執行此操作。

我沒有關於您的應用程序數據量,需求目標等的很多信息,所以這是一個最好的建議。

+0

您是否嘗試過SOLR 4.X中的N-Gram Tokenizer標記器。這是否適用於索引短語,以便您可以通過術語向量調用短語以返回SOLR相關性函數的詞頻? –