Solr:在文章上运行TF-IDF,并将过滤后的内容取回

Solr:在文章上运行TF-IDF,并将过滤后的内容取回,solr,tf-idf,Solr,Tf Idf,目标:我有数百万篇文章,我想删除一般单词(TF-IDF值小于阈值)并取回这些文章 Solr有TF和IDF等,但我必须查询每个术语(单词)。如果每篇文章有300字左右,那么将有3亿条需求。太贵了 由于一些复杂的原因,静态文件(如stopwords.txt)无法工作 有没有办法让Solr将过滤后的内容返回给我?我正在考虑在schema.xml中添加一个新的,但我不知道应该在中添加哪个 例如,如果为,为,公司的TF-IDF值低于阈值,则 Original content: "Apple In

目标:我有数百万篇文章,我想删除一般单词(TF-IDF值小于阈值)并取回这些文章

Solr有TF和IDF等,但我必须查询每个术语(单词)。如果每篇文章有300字左右,那么将有3亿条需求。太贵了

由于一些复杂的原因,静态文件(如
stopwords.txt
)无法工作

有没有办法让Solr将过滤后的内容返回给我?我正在考虑在
schema.xml
中添加一个新的
,但我不知道应该在
中添加哪个

例如,如果
公司
的TF-IDF值低于阈值,则

Original content: "Apple Inc. is an American multinational technology company."
Filtered content: "Apple Inc. American multinational technology"

Is、an、of、for为停止型,可应用于字段类型。这可以在索引和查询时删除。如果你想超越这一点……那么你可以使用维基百科提供的模型……如果你了解python,你可以尝试nltk库并做更多的工作filtering@AbhijitBashetti正如我在问题中提到的,stopwords只是一个子集。nltk库或预先训练的nlp模型不符合我的要求。我需要一个特定集合上的精确TF-IDF值。我猜你可以破解这个组件来支持类似的东西,因为它已经支持TF/df min/max截止值,在对索引生成查询时使用这些术语。参数
mlt.interestingTerms=list
可能正是您想要的。如果没有,您可以通过黑客攻击组件来返回术语,而不是运行查询,响应应该是您想要的。