【问题标题】:Does Google BigQuery support Full-Text searchGoogle BigQuery 是否支持全文搜索
【发布时间】:2012-06-29 15:43:23
【问题描述】:

我正在考虑将我的文本可搜索内容复制到 Google 的 BigQuery,然后使用 BigQuery API 执行全文搜索。

Google BigQuery 是否支持这种情况?

我在 Google BigQuery API 中找不到“搜索”命令: https://developers.google.com/bigquery/docs/reference/v2/

【问题讨论】:

    标签: full-text-search google-bigquery


    【解决方案1】:

    BigQuery 支持 RegEx 和 String 查询函数的集合,使其适用于跨 STRING 字段的文本搜索查询。但是,每个 BigQuery 记录的每行(和字段)限制为 64k,因此可能无法支持完全非结构化、无限大小的文档文本搜索案例。

    对于 App Engine 应用程序中的全文搜索功能,我建议查看新的 Search API:

    【讨论】:

    • 对 1M 条记录(每条记录 10K 条记录)执行文本搜索需要多长时间?从最终用户的角度来看,它是否可用?
    • 请记住,BigQuery 通过表扫描返回聚合结果,因此对非常常见的值进行全文搜索将返回非常大的数据集。至于性能,您应该自己在我们的一个公共数据集上尝试一下。 publicdata:samples.wikipedia 数据集包含超过 300,000,000 行。正则表达式匹配:SELECT TOP(comment, 10), COUNT() FROM [publicdata:samples.wikipedia] WHERE (REGEXP_MATCH(comment,r'[Wisconsin]'));您还可以使用“CONTAINS” SELECT TOP(comment, 10), COUNT() FROM [publicdata:samples.wikipedia] WHERE comment CONTAINS “Britney Spears”;
    • 这需要多于还是少于 1 秒?
    • Britney Spears 查询需要 3.5 秒。它缺少一个星号。更正版本:SELECT TOP(comment, 10), COUNT(*) FROM [publicdata:samples.wikipedia] WHERE comment CONTAINS "Britney Spears"
    • @DennisGorelik 威斯康星州正则表达式查询在控制台中花费了 7.6 秒。这对于 3 亿行来说是相当不错的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多