We used to apply our searches directly against MySQL. We switched for a
few reasons, among them, we weren't stellar MySQL developers, and our
database machine was relatively underpowered. My company has an online
photo archive, and the database does a lot. In adition to holding the
image data that is searched, it does user management, stores lightboxes,
session and state management, etc. During particularily long searches, the
rest of the functions would be effected noticeably. This didn't start
happen until 100,000 records or so. At the time, I don't think that the
fulltext indexing option was available. We were using a Perl module that
emulated altavista style boolean searches against the database.
In switching to Swish-e we noticed:
1. at least a 10x increase in the speed of our searches. I have padded my
index out to 2 million records, just for fun, and swish-e searches are
still exceedingly quick.
2. the actual application of the query provides much more accurate and
relative results. this is based partly on things like stemming and
soundex, and partly on...
3. ...the ability to apply logic to the records between the export from
the database and the parsing into xml. We analise the keywords and other
factors, and apply scores based on things like advertising potential, news
potential, etc. swish-e allows us to really tweak this stuff in our
index script prior to streaming the xml without having to muck up the
4. we put all of the data that will be displayed by the search results
into the index, so for the entire search process, there are no database
hits at all. it is really very handy that we don't have to call to the
database to get the context and display info for every record.
Anyway, I am sure that a lot of this stuff can be done in MySQL directly,
but we have had such a good experience with swish-e that we will stick
with it. Plus, i doubt that Monty would reply to my urgent, if somewhat
incoherent support requests as quickly as Bill does ;)
(207) 828-8787 x110
A title with which we brand unmarried women to indicate that
they are in the market.
-- Ambrose Bierce, "The Devil's Dictionary"
On Thu, 11 Dec 2003, Peter Karman wrote:
> I'm hoping for some feedback from swish-e users out there who are also
> using mysql.
> I know that some folks use swish-e to index mysql tables for searching.
> Is there a reason you do that instead of just querying the database
> directly? Is there a big performance difference?
> I am just starting to research a significant mysql project and haven't
> used it before. I've toyed off and on with using swish-e as the backend
> instead of mysql, but that seems to be advantageous only for read-only
> searching, not doing any kind interaction that would require saving
> Horror/success stories welcome.
> Peter Karman - Software Publications Engineer - Cray Inc
> phone: 651-605-9009 - mailto:firstname.lastname@example.org
Received on Fri Dec 12 03:00:14 2003