首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >短语的术语频率

短语的术语频率
EN

Stack Overflow用户
提问于 2012-01-27 04:14:29
回答 2查看 3.1K关注 0票数 3

我在下面的例子中使用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做什么,才能在一个短语上使用术语频率,而不仅仅是一个单词“放大器”?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-27 06:18:20

除非你让Lucene考虑“自动调零放大器”作为一个术语,否则你不能使用术语向量来获得你正在寻找的东西。您可以使用KeywordTokenizerFactory进行索引,它实际上并不对单词进行标记化,而是将整个文本流保留为一个标记。但是,例如,如果您感兴趣的字段包含以下文本,

代码语言:javascript
复制
 "The quick brown fox jumps over the lazy dog"

你如何定义你的术语边界?

代码语言:javascript
复制
 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,或者你也可以在你自己的应用层中实现。

我没有太多关于你的应用程序数据量,需求目标等的信息。因此,这充其量只是一个建议。

票数 2
EN

Stack Overflow用户

发布于 2018-03-22 13:38:12

你可以尝试下面的技巧

分别对这两个单词执行

  1. termfreq(),然后执行sum()以获得其计数。
  2. 此外,您可以使用if()检查您的值。

希望,这听起来很适合你的要求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9024670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档