我已经在elasticsearch索引中存储了来自不同来源的RSS源的大量新闻文章。在我执行搜索查询时,它会为我返回一个查询的很多类似的新闻文章,因为同一个新闻主题被许多RSS源所覆盖。什么是使用elasticsearch做文档聚类的便捷方式?
相反,我想这样做是出一组文章中只返回一个新闻文章同一主题。因此,我不知何故需要认识到,哪些文章是关于同一主题的,将这些文档聚集在一起,并仅从这样的群集中返回“最好”的文章。
什么是最方便的方法来解决这个问题? 我能以某种方式利用elasticsearch更像这个API吗?或者是https://github.com/carrot2/elasticsearch-carrot2插件的路要走?或者是没有简单的方法,我必须以某种方式实现我自己的版本http://en.wikipedia.org/wiki/K-means_clustering或http://en.wikipedia.org/wiki/Non-negative_matrix_factorization来集群我的文档?
我不明白这是如此复杂。您需要定义自己的规则来决定哪个文章比其他文章更好。为此,您可以相应地评分您的比赛(如果在X场中找到了某个单词,或者该单词和该单词已找到等),并返回最佳比分的比赛。这是Elasticsearch的全部目的:文本搜索。它给了你很多工具来查询,评分,操纵分数,调整等,以便最终得到你所需要的。但是你需要为“匹配”“最佳”文章定义规则。 – 2015-02-06 20:27:49