Pros
- CPAN available
- Implement in a short period of time if you have existing databases
- Keeps search information inside the same container as the data
Cons
- Requires knowledge/familiarity with DBI, MySQL, and Perl data strucutures. Which may make it difficult to use for newer users of Perl.
- Only works with MySQL
- Could impact database performance if search is perfromed on the same database as the data in heavily loaded systems.
Performance Results
There is really no reason for me to do this at the scale of the application this was applied to. There is no noticable latency even when the search is performed over 100Mbps connected servers.
Worthwhile
The exercise worthwhile for several reasons:
- Reused existing code
- Provided results that were much more accurate
- Scripts produced will allow for easier future implementations on other projects
- Provided support for search modifiers (AND, OR, +)
Where to use it (will it scale)
- Since I have not done any performance tests I can't possibly predict how far this would scale, but speaking from my own install with roughly 5MB of searched content the seat of the pants performance is acceptable
The system has been online now for 6 months and it has satisified the clients search requirements as well as aided site visitors in locating the information of interest to them. The solution is implemented on a mod_perl enabled Apache server with ~30,000 visitors per month at peak.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|