我在下面的例子中使用SOLR 4.x术语频率特性来查找字段内容中的“自动调零放大器”。
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做什么,才能在一个短语上使用术语频率,而不仅仅是一个单词“放大器”?
发布于 2012-01-27 06:18:20
除非你让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,或者你也可以在你自己的应用层中实现。
我没有太多关于你的应用程序数据量,需求目标等的信息。因此,这充其量只是一个建议。
发布于 2018-03-22 13:38:12
你可以尝试下面的技巧
分别对这两个单词执行
希望,这听起来很适合你的要求。
https://stackoverflow.com/questions/9024670
复制相似问题