2015-06-14 64 views

回答

6

一般来说,这是已知的作为生成数据功率的可视化面搜索。下面介绍数据和可视化的两个部分,以及集成D3.js/ElasticSearch示例的一些链接。

数据:面搜索/聚集

数据产生由在一组物品的计数方面的直方图。传统上,这是作为一个全文搜索引擎(如Lucene和ElasticSearch(基于Lucene构建))中的分面搜索(高效)完成的。 ElasticSearch现在调用此功能聚合。数据的计算速度足以实时进行搜索。

在LinkedIn的例子,你会创造的人有像那些列出的字段搜索索引。然后使用分面搜索,可以轻松获得每个分面值的文档(人员)数量。在你的查询中,你也可以说你想要说出最热门的x(10)最流行的值。

欲了解更多信息请参阅以下链接。第一个更详细,第二个和第三个更高。

  1. Lucene Faceted Search User's Guide
  2. ElasticSearch Documentation on Facets
  3. ElasticSearch Documentation on Aggregations (new approach)

可视化:水平条形图

一旦你的数据,可视化是排序由最高计数和组合简单的水平条形图可以用多种方式生成的手段。以下链接直接使用D3.js或NVD3.js,它是用于制作公用图表的辅助库。要获得理想的效果,您可能必须将点击次数与更新后的参数链接到新搜索。

  1. D3 JS Simple Horizontal Bar chart
  2. NVD3.js Horizontal Multi-Bar chart(使用单一系列)

综合例子

以下是使用D3.js预建的集成和面搜索/聚合一些链接。

  1. Elastic List For Faceted Search Built In D3.Js
  2. Data visualization with Elasticsearch aggregations and D3
+0

我添加了一些更多的信息,因为图表不是很简单;它会根据您点击的酒吧重新计算和重新排序。 – punstress

+0

您只需使用更新的查询参数运行另一个搜索。 Lucene/ElasticSearch和其他搜索引擎可以使这些搜索速度非常快。我还为预构建的集成添加了一些链接。 – Grokify

0

弹性名单似乎是最接近的答案。

相关问题