2012-01-26 14 views
2

次の例のSOLR 4.x termfreq機能を使用して、CONTENTSフィールドに "autozero amplifiers"を検索します。フレーズの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

私は句「オートゼロ・アンプ」が含まれ、次の段落のためのゼロ周波数を取得しています。

単語「アンプ」だけでなく、語句にtermfreqを使用するには、solrconfig.xmlまたはschema.xmlのどちらに行う必要がありますか?

+3

「ローカルホスト」にアクセスできないことはご存じでしょうか? – Ryan

答えて

2

「オートゼロ増幅器」を1項と見なさない限り、あなたが探しているものを得るために用語ベクトルを使用することはできません。索引付けにはKeywordTokenizerFactoryを使用できます。実際にはトークンをトークン化せず、テキストのストリーム全体を1つのトークンとして保持します。たとえば、関心のある分野に次のテキストが含まれている場合は、

"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関連性関数の用語頻度を返すことができるように、フレーズを索引付けすることで動作しますか? –

関連する問題