基于Elasticsearch為Postgres提供全文搜索功能的擴展:ZomboDB

jopen 9年前發布 | 14K 次閱讀 ZomboDB 數據庫服務器

ZomboDB是一個Postgres擴展,能夠基于Elasticsearch創建索引(CREATE INDEX)來為Postgres數據庫添加高效的全文搜索功能。

Features

  • transaction-safe full-text queries
  • managed & used via standard Postgres SQL
  • works with tables of any structure
  • automatically creates Elasticsearch Mappings supporting most datatypes, including arrays
  • nested objects for flexible schemaless sub-documents
  • custom full-text query language supporting nearly all of Elasticsearch's search features, including
    • boolean operations
    • proximity (in and out of order)
    • phrases
    • wildcards
    • fuzzy terms/phrases
    • "more like this"
    • regular expressions
    • inline scripts
    • range queries
  • query results expansion and index linking
  • extremely fast indexing
  • record count estimation
  • high-performance hit highlighting
  • access to Elasticsearch's full set of aggregations
  • use whatever method you currently use for talking to Postgres (JDBC, DBI, libpq, etc)
  • fairly extensive test suite (NB: in progress of being converted from closed-source version)

Because ZomboDB is a Postgres index type, it "just works" with SELECT, COPY, INSERT, UPDATE, DELETE, and VACUUM statements.

Not to suggest that these things are impossible, but there's a small set of non-features too:

  • no scoring
  • indexes are not crash-safe/recoverable
  • interoperability with various Postgres replication schemes is unknown
  • pg_get_indexdef()doesn't correctly quote index options making backup restoration annoying (would require patch to Postgres)
  • Postgres HOT updates not supported
  • only supports Postgres query plans that choose IndexScans or BitmapIndexScans (the latter is also dependent on sufficient work_mem to avoid Recheck conditions)

項目主頁:http://www.baiduhome.net/lib/view/home/1437462350115

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!