未来,我们的网络产品将有数以百万计的记录。因此,我们使用Bigquery进行数据存储和分析。我们必须在搜索页面上建立过滤器,比如flipkart,amazon提供产品过滤器。
基本上,我们需要不同的过滤器在我们的搜索页面左侧。借助这些过滤器,我们可以看到我们想要的结果。每个过滤器都有其计数,即该类别/术语中的记录计数。因此,我们必须以这样的方式构建查询,即它给出每个类别(术语)的结果和计数。在这里,类别意味着在不同的列上的不同类型的过滤器,就像我们在电子商务网站上看到的那样,比如flipkart,amazon等等。
面搜索(也称为分面导航、导航或参数搜索)将搜索结果分解为多个类别,通常显示每个类别的计数,并允许用户根据这些方面“向下钻取”或进一步限制搜索结果。
是否有任何框架/插件可用,如solrdb,可与Bigquery一起使用以提供上述所需的功能。
Bigquery不适合用于上述目的吗?为此,我们是否需要在任何RDBMS数据库(如postgresql、mysql等)和搜索引擎(即solrdb、弹性搜索等)周围停留?
谢谢
发布于 2017-06-13 16:22:44
是否有像solrdb这样的框架/插件可以与Bigquery一起使用来提供上述所需的功能?
据我所知,没有,没有这样的事。
BigQuery仍然可以进行这种类型的分析。你可以模拟搜索引擎数据库会做些什么,通过一些查询,但它仍然将处理您需要的一切在短短几秒钟。您可以使用雷吉普操作、拆分字符串、使用Javascript UDF来分解单词等等。
不过,我仍然认为使用搜索引擎数据库(如前面提到的solrdb或elasticsearch)会更好,因为您已经为您准备好了一切,比如faceting特性。尽管如此,BQ会在几秒钟内给出结果,而这些引擎可能会在毫秒内返回响应。
谷歌还在应用程序引擎中提供了一个搜索API,但是你必须测试它,看看它是否适合你。我要说的最大优点是,它易于实现,而且您不必担心管理基础设施。不过,不确定它与solrdb或elasticsearch相比如何。
在我们公司,我们有一些系统已经以JSON格式接收来自BigQuery的文档,它们是elasticsearch,它们索引所有内容并处理查询请求。到目前为止,我们做得很好。
https://stackoverflow.com/questions/44498857
复制相似问题