DXR Storages: Difference between revisions

Jump to navigation Jump to search
→‎PostgreSQL: Looked into getting Postgres to do what we want.
(→‎PostgreSQL: Looked into getting Postgres to do what we want.)
Line 41: Line 41:
== PostgreSQL ==
== PostgreSQL ==


Postgres is the other contender. As of 9.3 it supports trigram-accelerated regex searches, but, sadly, they hard-coded a limitation to word-like chars. We'd probably have to hack the source to circumvent that.
Postgres is the other contender.


Pros:
Pros:


* An easy port from our existing relational-based storage
* An easy port from our existing relational-based storage
* Out-of-the-box [https://wiki.postgresql.org/images/6/6c/Index_support_for_regular_expression_search.pdf crazy-smart extraction of trigrams from regexes] (see page 49), comparable to Google Code Search. We'd have to do this in Python (which could be fun) to use ES. Keep in mind that [http://www.postgresql.org/message-id/19399.1299858408@sss.pgh.pa.us pg_trgm's idea of trigrams is, like trilite's, 3 bytes], not 3 chars.
* As of 9.3, out-of-the-box [https://wiki.postgresql.org/images/6/6c/Index_support_for_regular_expression_search.pdf crazy-smart extraction of trigrams from regexes] (see page 49) and accelerated regex searching, comparable to Google Code Search. We'd have to do the extraction in Python (which could be fun) to use ES. Keep in mind that [http://www.postgresql.org/message-id/19399.1299858408@sss.pgh.pa.us pg_trgm's idea of trigrams is, like trilite's, 3 bytes], not 3 chars. Also, they hard-code a limitation to word-like chars, so we'd have to hack the source (undefining the KEEPONLYALNUM macro) to get around that. Even so, [http://code.ohloh.net/file?fid=-_LhALACd35jJVPY3WBWQBo4q-0&cid=eDOmLT58hyw&s=&fp=305491&mp&projSelected=true#L49 they still skip spaces]. We would pretty much have to fork pg_trgm.


== Trilite Unique Advantages ==
== Trilite Unique Advantages ==
Confirmed users
574

edits

Navigation menu