谷歌云存储上的全文搜索

svmlkihl  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(384)

关闭。这个问题是基于意见的。它目前不接受答案。
**想改进这个问题吗?**更新这个问题,这样就可以通过编辑这篇文章用事实和引文来回答。

两个月前关门了。
改进这个问题
我想接收一些关于在gcs存储桶中存储的平面文件(主要是json)上进行自由文本搜索的概念性问题的输入。从理论上讲,这听起来是一个简单的问题,amazon提供了一些解决方案,比如amazoncloudsearch开箱即用的索引s3文件。然而,我还没有遇到一个类似的解决方案,从谷歌做到这一点。以下是解决这个问题的一些备选方案:
谷歌云搜索-从纸面上看,这似乎是一个类似的产品谷歌搜索设备,但在云端。不过,该产品似乎更像是与g套件/google工作区应用程序的集成。googleworkspace enterprise plus版确实提供了第三方数据存储库集成(google云存储是第三方数据源,尽管它是google的产品),但这对我来说太昂贵了。我还不明白为什么谷歌云平台上没有一个类似的产品能做到这一点。
谷歌应用程序引擎搜索api-似乎是一个去种族化的解决方案,不再推荐。然而,追求这个解决方案意味着在现有数据存储成本的基础上拥有并支付额外的数据存储+计算。
gcpdataproc solr-solr可能是解决我的问题的最佳解决方案之一-但是,这个解决方案在很大程度上依赖于我们端的管理基础设施。此外,索引可以存储在gcs存储桶中,并将计算与存储分离(我可能错了)。据我所知,dataproc管理的集群确实会随着时间的推移而变得昂贵,而且不会扩展到0计算。
gcp管理的elasticsearch-使用elasticsearch进行像免费文本搜索这样简单的搜索就像用炮弹杀死一只苍蝇来进行免费文本搜索用例。不过,我很担心,因为elasticsearch没有将谷歌云存储列为其定价模型中的数据源,我也不确定是否可以从 Package 盒中获得免费文本搜索功能。
我最宝贵的资源是时间,哪种方法最适合构建此功能?如果有人能为这个问题提供一些有价值的见解或替代方案,我将不胜感激。提前谢谢。

m2xkgtsf

m2xkgtsf1#

我想在您的列表中添加一个额外的解决方案。您概述的大多数解决方案要么基于需要配置的基础结构,要么基于需要编码的自定义导入过程,因此需要大量额外工作。
谷歌有另一种在谷歌云存储中查询文件的解决方案。这可以使用bigquery查询功能来完成。为了能够在bigquery中查询数据,您需要在bigquery中创建一个表,并使用云存储uri从gcs导入数据。然而,在这个过程中有一些考虑/限制。我将在下面概述其中的一些考虑。
将bigquery数据集和外部数据源合并
google云存储桶必须与bigquery数据集位于同一位置。请阅读本文档以了解完整的规范。
接受的文件格式
逗号分隔值(csv)
json(换行分隔)
阿夫罗
兽人
parquet
数据存储导出
firestore出口
永久与临时外部表
选择正确的bigquery表取决于用例。使用临时表对于对外部数据进行一次性、即席查询或提取、转换和加载(etl)过程非常有用。而如果要与其他人共享数据集,则必须使用外部表。
查询多个文件
使用通配符支持可以查询多个文件。这样,您可以在一个gcs bucket中指定多个文件。但是,在bigquery中导入数据存储或firestore导出时不能使用通配符。
成本
自由文本搜索可能会带来额外的成本,因为每次执行查询时基本上都要进行全表扫描。请记住,您需要为每tb的搜索数据付费!另一方面,从地面军事系统加载数据是免费的。
总体信息可以在这里找到。

相关问题