CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 23 Jul 2025 17:20:10 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090104041450
location: https://web.archive.org/web/20090104041450/https://github.com/github/ultrasphinx/tree
server-timing: captures_list;dur=1.612969, exclusion.robots;dur=0.062838, exclusion.robots.policy;dur=0.028623, esindex;dur=0.031408, cdx.remote;dur=137.765329, LoadShardBlock;dur=427.937284, PetaboxLoader3.datanode;dur=104.248354, PetaboxLoader3.resolve;dur=126.788612
x-app-server: wwwb-app223
x-ts: 302
x-tr: 606
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: SERVER=wwwb-app223; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Wed, 23 Jul 2025 17:20:12 GMT
content-type: text/html; charset=utf-8
content-length: 114
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Sun, 04 Jan 2009 04:14:49 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7BzoOcmV0dXJuX3RvIhcvZGVmdW5rdC9mb2xsb3dlcnMiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA%3D--0a8a4bf18bfcf6b124acd1e6ccec0bae3f004a80; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090104041450/https://github.com/github/ultrasphinx/tree/master
x-archive-orig-x-runtime: 114ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 114
cache-control: max-age=1800
memento-datetime: Sun, 04 Jan 2009 04:14:50 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Fri, 25 Jul 2008 12:55:44 GMT", ; rel="prev memento"; datetime="Fri, 25 Jul 2008 12:55:44 GMT", ; rel="memento"; datetime="Sun, 04 Jan 2009 04:14:50 GMT", ; rel="last memento"; datetime="Sun, 04 Jan 2009 04:14:50 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_7_20090104033323_crawl108-c/52_7_20090104040902_crawl103.arc.gz
server-timing: captures_list;dur=0.642918, exclusion.robots;dur=0.026599, exclusion.robots.policy;dur=0.012357, esindex;dur=0.015225, cdx.remote;dur=27.971897, LoadShardBlock;dur=1752.651609, PetaboxLoader3.datanode;dur=1528.872419, PetaboxLoader3.resolve;dur=439.181017, load_resource;dur=287.323229
x-app-server: wwwb-app223
x-ts: 301
x-tr: 2109
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 23 Jul 2025 17:20:14 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Sun, 04 Jan 2009 04:14:49 GMT
x-archive-orig-connection: close
x-archive-orig-set-cookie: _github_ses=BAh7ByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7ADoOcmV0dXJuX3RvIhcvZGVmdW5rdC9mb2xsb3dlcnM%3D--f913639a15d142d49d699d12f7693449c10503b5; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 170ms
x-archive-orig-etag: "118b71930ac83bf70a6e59ae53fab35b"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 26865
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: windows-1252
memento-datetime: Sun, 04 Jan 2009 04:14:50 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sun, 04 Jan 2009 04:14:50 GMT", ; rel="memento"; datetime="Sun, 04 Jan 2009 04:14:50 GMT", ; rel="next memento"; datetime="Mon, 05 Jan 2009 07:35:48 GMT", ; rel="last memento"; datetime="Thu, 14 May 2009 04:27:42 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_7_20090104033323_crawl108-c/52_7_20090104040902_crawl103.arc.gz
server-timing: captures_list;dur=0.922870, exclusion.robots;dur=0.089718, exclusion.robots.policy;dur=0.072297, esindex;dur=0.018293, cdx.remote;dur=36.488356, LoadShardBlock;dur=476.173526, PetaboxLoader3.datanode;dur=290.125148, PetaboxLoader3.resolve;dur=1019.308880, load_resource;dur=878.106005
x-app-server: wwwb-app223
x-ts: 200
x-tr: 1487
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
github's ultrasphinx at master — GitHub
We got nominated! Help us out and vote for GitHub as Best Bootstrapped Startup of 2008. (You can vote once a day.) [ hide ]
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Fork of DrMark/ultrasphinx | |
Description: | a maintained fork of Evan Weaver's Ultrasphinx code -- see the escape_sql branch |
Homepage: | https://blog.evanweaver.com/files/doc/fauna/ultrasphinx/files/README.html |
Clone URL: |
git://github.com/github/ultrasphinx.git
Give this clone URL to anyone.
git clone git://github.com/github/ultrasphinx.git
|
name | age | message | |
---|---|---|---|
![]() |
.gitignore | Mon May 05 14:28:38 -0700 2008 | updating the gitignore file [DrMark] |
![]() |
CHANGELOG | Wed Apr 16 06:48:06 -0700 2008 | Update to Sphinx rc2. [evanweaver] |
![]() |
DEPLOYMENT_NOTES | Tue Mar 11 16:34:20 -0700 2008 | Remove extra asterisk in documentation (agile). [evanweaver] |
![]() |
LICENSE | Tue May 08 14:22:12 -0700 2007 | sphinx? did i hear a noise? [evanweaver] |
![]() |
Manifest | Sun Mar 23 23:21:30 -0700 2008 | Clean up and apply geodistance patch (Jeremy Se... [evanweaver] |
![]() |
RAKE_TASKS | Sun Mar 09 13:48:26 -0700 2008 | Add merge rake task; add test and documentation... [evanweaver] |
![]() |
README | Wed Apr 16 06:48:06 -0700 2008 | Update to Sphinx rc2. [evanweaver] |
![]() |
Rakefile | Sat Jan 12 07:10:34 -0800 2008 | rake tasks [evanweaver] |
![]() |
TODO | Sat Mar 08 12:24:20 -0800 2008 | Import 1.9 from private branch. Adds delta inde... [evanweaver] |
![]() |
examples/ | Sun Mar 23 23:21:30 -0700 2008 | Clean up and apply geodistance patch (Jeremy Se... [evanweaver] |
![]() |
generators/ | Sun Mar 30 22:25:52 -0700 2008 | Use a migration generator for installing Postgr... [evanweaver] |
![]() |
init.rb | Thu Jul 19 19:32:17 -0700 2007 | namespace [evanweaver] |
![]() |
install.rb | Sun Mar 30 22:25:52 -0700 2008 | Use a migration generator for installing Postgr... [evanweaver] |
![]() |
lib/ | Fri May 02 11:39:04 -0700 2008 | Raise clearer exceptions on search failures. [evanweaver] |
![]() |
tasks/ | Wed Mar 19 22:03:53 -0700 2008 | Use a more cross-platform pid parameter (Stephe... [evanweaver] |
![]() |
test/ | Sun Mar 30 23:39:23 -0700 2008 | Handle the sortable duplicates the same way as ... [evanweaver] |
![]() |
vendor/ | Wed Apr 16 06:48:06 -0700 2008 | Update to Sphinx rc2. [evanweaver] |
README
Ultrasphinx Ruby on Rails configurator and client to the Sphinx full text search engine. == License Copyright 2007-2008 Cloudburst, LLC. Licensed under the AFL 3. See the included LICENSE file. Some portions copyright Pat Allan, distributed under the MIT license, and used with permission. Some portions copyright PJ Hyett and Mislav Marohnić, distributed under the MIT license, and used with permission. The public certificate for the gem is here[https://rubyforge.org/frs/download.php/25331/evan_weaver-original-public_cert.pem]. If you use this software, please {make a donation}[https://blog.evanweaver.com/donate/], or {recommend Evan}[https://www.workingwithrails.com/person/7739-evan-weaver] at Working with Rails. == Requirements * MySQL 5.0, or PostgreSQL 8.2 * Sphinx 0.9.8-rc2 * Rails 2.0.2 More recent versions than listed are usually ok. == Features Sphinx/Ultrasphinx is the fastest and most stable Rails fulltext search solution. Features include: * searching and ranking across multiple models * delta index support * excerpt highlighting * Google-style query parser * spellcheck * faceting on text, date, and numeric fields * field weighting, merging, and aliasing * geodistance * <tt>belongs_to</tt> and <tt>has_many</tt> includes * drop-in compatibility with will_paginate[https://err.lighthouseapp.com/projects/466/home] * drop-in compatibility with Interlock[https://blog.evanweaver.com/files/doc/fauna/interlock/] * multiple deployment environments * comprehensive Rake tasks And some other things. = Usage == Installation First, install Sphinx itself. Get the {0.9.8 snapshot}[https://www.sphinxsearch.com/downloads.html], then run <tt>./configure</tt>, <tt>make</tt>, and <tt>sudo make install</tt>. Make sure to set your <tt>./configure</tt> flags: <tt>----prefix</tt> if necessary, and also <tt>----with-pgsql</tt> if you need Postgres support. You also need the <tt>chronic</tt> gem: sudo gem install chronic Then, install the plugin: script/plugin install -x svn://rubyforge.org/var/svn/fauna/ultrasphinx/trunk Next, copy the <tt>examples/default.base</tt> file to <tt>RAILS_ROOT/config/ultrasphinx/default.base</tt>. This file sets up the Sphinx daemon options such as port, host, and index location. If you need per-environment configuration, you can use <tt>RAILS_ROOT/config/ultrasphinx/development.base</tt>, etc. Note that ERb is also allowed within the <tt>.base</tt> files, and can be an alternative way to DRY up multiple configurations. Now, in your models, use the <tt>is_indexed</tt> method to configure a model as searchable. For example: class Post is_indexed :fields => ['created_at', 'title', 'body'] end For more index options, see ActiveRecord::Base .is_indexed. == Building the index Now run: rake ultrasphinx:configure rake ultrasphinx:index rake ultrasphinx:daemon:start To rotate the index, just rerun <tt>rake ultrasphinx:index</tt>. If the search daemon is running, it will have its index rotated live. Otherwise the new index will be installed but the daemon will remain stopped. == Running queries Query the daemon as so: @search = Ultrasphinx::Search.new(:query => @query) @search.run @search.results For more query options, including excerpt mode, see Ultrasphinx::Search. = Extras == Pagination Once the <tt>@search</tt> object has been <tt>run</tt>, it is directly compatible with the <tt>will_paginate</tt> view helper. In your view, just do: <%= will_paginate(@search) %> == Spell checking See Ultrasphinx::Spell. == Delta indexing Delta indexing speeds up your updates by not reindexing the entire dataset every time. First, in your <tt>.base</tt> file, set the indexer option <tt>delta</tt> to your maximum interval between full reindexes. A day or a week is good, depending. Add a little bit to account for the time it takes the actual index to run: delta = <%= 1.day + 30.minutes %> Now, configure your models for delta indexing in the <tt>is_indexed</tt> call: is_indexed :fields => ['created_at', 'title', 'body'], :delta => true Now you can run <tt>rake ultrasphinx:index:delta</tt> frequently, and only records that were changed within 1 day will be reindexed. You will need to run <tt>rake ultrasphinx:index:main</tt> once a day to move the delta contents into the main index. See ActiveRecord::Base .is_indexed and DEPLOYMENT_NOTES[link:files/DEPLOYMENT_NOTES.html] for more. == Available Rake tasks See RAKE_TASKS[link:files/RAKE_TASKS.html]. == Deployment notes See DEPLOYMENT_NOTES[link:files/DEPLOYMENT_NOTES.html]. == Gotchas Note that since Ultrasphinx preloads indexed models, you need to make sure those models have their own dependencies in place early in the boot process. This may require adjusting the general plugin load order or moving monkey-patches from <tt>lib/</tt> to <tt>vendor/plugins/</tt>. PostgreSQL 8.2 and higher are well supported. However, make sure the stored procedure migration gets generated correctly. If you did not install the plugin via <tt>script/install</tt>, run <tt>script/generate ultrasphinx_migration</tt> by hand. == Reporting problems The support forum is here[https://rubyforge.org/forum/forum.php?forum_id=14244]. Patches and contributions are very welcome. Please note that contributors are required to assign copyright for their additions to Cloudburst, LLC. == Further resources * https://sphinxsearch.com/doc.html * https://sphinxsearch.com/forum/forum.html?id=1 * https://blog.evanweaver.com/articles/2007/07/09/ultrasphinx-searching-the-world-in-231-seconds
This feature is coming soon. Sit tight!