从多个文档中添加术语频率(Solr)
如何使用Solr数学运算或函数查询为查询返回的所有文档的每个单词添加术语频率tf值 我知道有很多方法可以使用java迭代地添加术语向量,但是如果索引很大或者内存有限,这可能需要很长时间。Solr有原始的术语频率值和添加正常字段值的能力,所以我认为它应该能够添加术语频率,我只是不知道如何添加 另外,我也不知道提前的单词是什么,每个文档都可以有任意组合的单词 对于此文档结果:从多个文档中添加术语频率(Solr),solr,lucene,Solr,Lucene,如何使用Solr数学运算或函数查询为查询返回的所有文档的每个单词添加术语频率tf值 我知道有很多方法可以使用java迭代地添加术语向量,但是如果索引很大或者内存有限,这可能需要很长时间。Solr有原始的术语频率值和添加正常字段值的能力,所以我认为它应该能够添加术语频率,我只是不知道如何添加 另外,我也不知道提前的单词是什么,每个文档都可以有任意组合的单词 对于此文档结果: "docs": [ { "id": 0, "content": [ "FOO FOO BAR
"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不支持这种开箱即用的操作。提供了索引中出现术语的总次数。您是否已经考虑过该功能?是的,我发现了它们,它们很有帮助,但不是我想要的。我只寻找查询返回的文档的术语频率之和,而不是整个索引。我不相信Facet是我所寻找的,因为我无法为我的主要内容创建额外的Facet字段——我是频率的内容。这将有效地使我的索引大小增加一倍,而且磁盘空间太大。