{
  "version": 1,
  "event_id": "evt_c8f2948799ab05ad",
  "url": "https://xiyu.news/events/evt_c8f2948799ab05ad/",
  "json": "https://xiyu.news/api/events/evt_c8f2948799ab05ad.json",
  "type": "other",
  "status": "monitoring",
  "category": "technology",
  "title": {
    "zh": "PlanetScale 发布 Postgres 全文搜索扩展 TIN",
    "en": "Tin: full-text search for Postgres"
  },
  "current_state": {
    "zh": "PlanetScale 发布了 TIN（Text INdex），这是面向 PlanetScale Postgres 的全文搜索扩展，提供专为搜索设计的倒排索引类型、BM25 相关性排序以及 TINQL 查询语言。这是 PlanetScale 为其 Postgres 产品推出的首个搜索能力，公司称该功能是客户呼声最高的需求之一。\n\n这让 PlanetScale 加入了一场数据库厂商竞相把搜索能力直接内置到 Postgres 的竞赛，赛道上的玩家已包括 ParadeDB 的 pg_search、Timescale 的 pg_textsearch，以及 Neon 和 Databricks 的搜索功能。如果这些方案逐渐成熟，如今在 Postgres 之外单独运行 Elasticsearch 之类搜索引擎的团队，或许可以少维护一个系统组件。\n\n根据 PlanetScale 的文档和社区反馈，TIN 的性能表现仅在其云服务上可用：相关的开源本地扩展（github.com/planetscale/lead）主要用于测试 TINQL 语法，性能特征与云端版本并不一致。基准测试数据由厂商自己提供而非独立第三方评测，因此团队应结合自身实际负载进行验证。",
    "en": "PlanetScale introduced Tin, a full-text search capability for Postgres offered exclusively on its cloud platform, prompting Hacker News debate about its performance, cloud lock-in, and comparison to existing Postgres FTS and rival extensions."
  },
  "first_seen_at": "2026-09-19T22:23:06.280442+00:00",
  "last_updated_at": "2026-09-19T22:23:06.280442+00:00",
  "last_material_change_at": "2026-09-19T22:23:06.280442+00:00",
  "confidence": 0.75,
  "updates_count": 1,
  "sources_count": 1,
  "entities": [
    "full-text-search",
    "postgres",
    "tin"
  ],
  "identifiers": [],
  "topics": [
    "databases",
    "developer-tools",
    "full-text-search",
    "planetscale",
    "postgres"
  ],
  "updates": [
    {
      "update_id": "upd_94d5c72eaab2fb6c",
      "event_id": "evt_c8f2948799ab05ad",
      "occurred_at": "2026-09-19T13:52:06Z",
      "published_at": "2026-09-19T13:52:06Z",
      "first_seen_at": "2026-09-19T22:23:06.280442Z",
      "time_precision": "published",
      "update_type": "initial",
      "material_change": true,
      "title_zh": "PlanetScale 发布 Postgres 全文搜索扩展 TIN",
      "title_en": "Tin: full-text search for Postgres",
      "what_changed_zh": "PlanetScale 发布了 TIN（Text INdex），这是面向 PlanetScale Postgres 的全文搜索扩展，提供专为搜索设计的倒排索引类型、BM25 相关性排序以及 TINQL 查询语言。这是 PlanetScale 为其 Postgres 产品推出的首个搜索能力，公司称该功能是客户呼声最高的需求之一。\n\n这让 PlanetScale 加入了一场数据库厂商竞相把搜索能力直接内置到 Postgres 的竞赛，赛道上的玩家已包括 ParadeDB 的 pg_search、Timescale 的 pg_textsearch，以及 Neon 和 Databricks 的搜索功能。如果这些方案逐渐成熟，如今在 Postgres 之外单独运行 Elasticsearch 之类搜索引擎的团队，或许可以少维护一个系统组件。\n\n根据 PlanetScale 的文档和社区反馈，TIN 的性能表现仅在其云服务上可用：相关的开源本地扩展（github.com/planetscale/lead）主要用于测试 TINQL 语法，性能特征与云端版本并不一致。基准测试数据由厂商自己提供而非独立第三方评测，因此团队应结合自身实际负载进行验证。",
      "what_changed_en": "PlanetScale introduced Tin, a full-text search capability for Postgres offered exclusively on its cloud platform, prompting Hacker News debate about its performance, cloud lock-in, and comparison to existing Postgres FTS and rival extensions.",
      "current_state_zh": "PlanetScale 发布了 TIN（Text INdex），这是面向 PlanetScale Postgres 的全文搜索扩展，提供专为搜索设计的倒排索引类型、BM25 相关性排序以及 TINQL 查询语言。这是 PlanetScale 为其 Postgres 产品推出的首个搜索能力，公司称该功能是客户呼声最高的需求之一。\n\n这让 PlanetScale 加入了一场数据库厂商竞相把搜索能力直接内置到 Postgres 的竞赛，赛道上的玩家已包括 ParadeDB 的 pg_search、Timescale 的 pg_textsearch，以及 Neon 和 Databricks 的搜索功能。如果这些方案逐渐成熟，如今在 Postgres 之外单独运行 Elasticsearch 之类搜索引擎的团队，或许可以少维护一个系统组件。\n\n根据 PlanetScale 的文档和社区反馈，TIN 的性能表现仅在其云服务上可用：相关的开源本地扩展（github.com/planetscale/lead）主要用于测试 TINQL 语法，性能特征与云端版本并不一致。基准测试数据由厂商自己提供而非独立第三方评测，因此团队应结合自身实际负载进行验证。",
      "current_state_en": "PlanetScale introduced Tin, a full-text search capability for Postgres offered exclusively on its cloud platform, prompting Hacker News debate about its performance, cloud lock-in, and comparison to existing Postgres FTS and rival extensions.",
      "detailed_summary_zh": "PlanetScale introduced Tin, a full-text search capability for Postgres offered exclusively on its cloud platform, prompting Hacker News debate about its performance, cloud lock-in, and comparison to existing Postgres FTS and rival extensions.",
      "detailed_summary_en": "PlanetScale introduced Tin, a full-text search capability for Postgres offered exclusively on its cloud platform, prompting Hacker News debate about its performance, cloud lock-in, and comparison to existing Postgres FTS and rival extensions.",
      "background_zh": "Postgres 本身已内置全文搜索，通过 tsvector、tsquery 和 ts_rank 等函数实现，并支持函数索引与查询优化，但不少开发者认为其相关性排序质量和索引体积不如专用搜索引擎。TIN 这类扩展正是瞄准这一差距，引入倒排索引和 BM25 打分算法——即 Lucene 推广、Elasticsearch 与 SQLite FTS5 采用的排序算法——从而让相关性排序更接近专用搜索引擎，同时数据仍留在 Postgres 内部。",
      "background_en": "Postgres already ships built-in full-text search through the tsvector, tsquery and ts_rank functions, which support functional indexing and query optimization, but many developers find its ranking quality and index sizes limiting compared with dedicated search engines. TIN-style extensions target that gap by adding an inverted index and BM25 scoring — the ranking algorithm popularized by Lucene and used by Elasticsearch and SQLite's FTS5 — so relevance ordering behaves more like a purpose-built search engine while the data stays inside Postgres.",
      "community_discussion_zh": "Hacker News 上的评论意见分化：质疑者认为 Postgres 已内置相当成熟的全文搜索（tsvector/tsquery/ts_rank），不明白为何要采用一个非核心、仅限云端的扩展，并提到 ts_query 索引体积过大的糟糕体验；也有人把这一波厂商搜索功能视为 AI 时代编码效率提升的体现。多位评论者指出本地版本只用于语法测试，且同类方案早已存在（ParadeDB pg_search、Timescale pg_textsearch、Neon/Databricks 的 Lakebase Search），还有人提到 SQLite FTS 开箱即支持 Lucene 风格查询，是 Postgres 尚未企及的参照。",
      "community_discussion_en": "Hacker News commenters were split: skeptics asked why they should adopt a non-core, cloud-only extension when Postgres already has sophisticated built-in full-text search (tsvector/tsquery/ts_rank) and pointed to weak experiences with ts_query's large indexes, while others read the wave of vendor search features as a sign of AI-era coding productivity. Several noted the local version is syntax-only and that comparable alternatives already exist (ParadeDB pg_search, Timescale pg_textsearch, Neon/Databricks Lakebase Search), and one commenter highlighted SQLite FTS's Lucene-style queries as a benchmark Postgres has yet to match.",
      "market_impact_zh": "",
      "market_impact_en": "",
      "importance_score": 7.0,
      "references": [
        {
          "url": "https://news.ycombinator.com/item?id=49766611",
          "title": "Community discussion"
        },
        {
          "url": "https://planetscale.com/blog/introducing-tin",
          "title": "Introducing TIN: full-text search for Postgres — PlanetScale"
        },
        {
          "url": "https://planetscale.com/docs/postgres/search",
          "title": "TIN: PlanetScale Postgres Search - PlanetScale"
        },
        {
          "url": "https://www.postgresql.org/docs/current/textsearch.html",
          "title": "PostgreSQL: Documentation: 18: Chapter 12. Full Text Search"
        }
      ],
      "confidence": 0.75,
      "story_ids": [
        "hackernews:story:49766611"
      ],
      "sources": [
        {
          "url": "https://planetscale.com/blog/introducing-tin",
          "label": "ksec",
          "source_type": "hackernews",
          "official": false
        }
      ]
    }
  ]
}
