Home

Forum

Archives

Tags



Plugins:


AddCategory

AjaxRating

Blacklist32

BlacklistStats

BlogJanitor

CommentRegistration

DefineCommentPending

EntryPost

FastSearch

FlickrPhotos

FormatList

MTCategoryCommentCount

MTDisguiseCommentURL

MTDisguiseTrackbackURL

MTDynamic

MTTrackbackEntry

PluginNetwork

SmartRebuild

SpamFirewall

TemplateInheritance

TrustedCommenters







Fast Search - PHP Fulltext Search Plugin

Keep track of this discussion by subscribing to the RSS feed for this discussion thread
Author Message
Mark







PostPosted: August 8, 2006 11:35 AM 

Update, Oct. 9, 2006 - A newer version of Fast Search has been released. Click here for details.

The built-in search tool in Movable Type can be slow and can take a lot of processing power, especially if you have blogs with many entries. When I recently upgraded to version 3.31 of MT, I was dismayed to learn that searches became slower and more processor-intensive (at least on my server). I was forced to disable the mt-search.cgi script, as it was overloading my dedicated server. So I went looking for an alternative. I found a PHP mySQL Fulltext method that worked very fast, and without the CPU problems.

So contacted Iñaki, the creator of this PHP solution, who granted me permission modify the solution and package it up as a Movable Type plugin. I have added a number of features, and I have made significant efforts to make the plugin easy to install and use.

Fast Search is a PHP plugin for Movable Type. This means that Fast Search uses Movable Type's dynamic PHP-based publishing system to display search results. However, you can continue to use static publishing for all of your indexes and archives. Fast Search is fast in part because it uses mySQL fulltext indexing -- basically this means that a search index will be created for the entries in your database, making searches much faster.

Template Tags

Version 1.0 of FastSearch is designed to easily replace the existing search functionality in Movable Type. For example, if you are currently using customized search templates, you can use them with Fast Search, with very few changes in most cases. Many Fast Search template tags have the same names as their CGI counterparts:

  • <MTSearchString> - The search string (query) being searched.
  • <MTSearchResults> - A container tag that displays search results. Arguments include (all are optional):
    • lastn - restricts the search to n results. (example <MTSearchResults lastn="10"> ) The lastn argument, like all arguments for MTSearchResults, can also be specified in the URL (...&lastn=10) or POSTed from a search form)
    • offset - used in coordination with lastn, starts M entries from the start of the list. (example <MTSearchResults lastn="10" offset="10"> will display results 11-20)
    • order - must be either 'date' or 'relevance', the default is 'relevance'. (example $lt;MTSearchResults order="date"> will provide similar results as the CGI search)
    • category - must be a valid category ID for the current blog - restricts the search results to entries from this category.
    • google_highlight - if specified, search words will be highlighted. (example <MTSearchResults google_highlight="1"> )
    • query - the search string (text) to be searched. In normal use, you would NOT include this argument as part of the <MTSearchResults> tag, rather, it would be specified as a URL paramter (example ...query=search+phrase) or POSTed from a search form.
  • <MTBlogResultHeader> - this is container tag that displays content before the search results. (Note: in version 1.0 of Fast Search, you cannot search multiple blogs in the same search)
  • <MTBlogResultFooter> - this is container tag that displays content below the search results.
  • <MTNoSearchResult> - A container tag that displays its content only if zero results are found. Note that this tag must be used after a <MTSearchResults> container.
  • <MTNoSearch> - A container tag that displays its content only if no search phrase was specified.
  • <MTSearchCount> - The number of search results displayed. This tag should be used with a <MTBlogResultHeader> or <MTBlogResultFooter> container.
  • <MTSearchFirst> - The number of the first search result on the current page. This tag should be used with a <MTBlogResultHeader> or <MTBlogResultFooter>container.
  • <MTSearchLast> - The number of the last search result on the current page. This tag should be used with a <MTBlogResultHeader> or <MTBlogResultFooter>container.
  • <MTSearchIfNextPage> - A conditional tag that displays its content if there is a subsequent page of search results. This tag should be used with a <MTBlogResultHeader> or <MTBlogResultFooter>container.
  • <MTSearchNextPageLink> - Output a URL to the next page of search results. This tag should be used within <MTSearchIfNextPage> tags.

As you may have noticed, most of the tags above are identical to the ones used for the existing CGI-based search results. This is by design, so you will easily be able to cut-and-paste your existing search template code into the Fast Search template, though some minor modifications may be required.

Working Examples:

Here are some working examples you can try. Feel free to try additional search queries and note the speed that searches are performed.

  • Mars Rover Blog has over 5,000 entries. Example search: "water on mars". Note that this example shows the default FastSearch template, which is very similar to the default search results template in MT 3.2.
  • Seinfeld Blog has over 8,000 entries, 180 of which consist of the episode descriptions and scripts of all 180 episodes. Fast Search powers the Seinfeld Script Search, which is restricted to a single category containing the episodes. Example search: 'bubble boy'

Requirements:

  • Movable Type 3.2 or 3.3
  • mySQL 4.0.1 or higher

Instructions

  1. Download the plugin and expand the zip file.
  2. Upload the contents of the 'plugins' folder to the 'plugins' directory of your MT installation (usually something like /cgi-bin/mt/plugins).
  3. Upload the contents of the 'php' folder to the 'php' directory (usually something like /cgi-bin/mt/php)
  4. Login to the MT admin interface. If you already logged in, choose 'Main Menu'
  5. If your are running MT 3.3, you should be redirected to an 'Upgrade' screen at this point. The Fast Search upgrade process will update your database to add a fulltext index to the table in your database where entries are stored. Note that this may take some time if you have many entries, and this will add to the overall size of your database.
  6. If you are running MT 3.2, you will not see the upgrade screen (as it is a 3.3 feature), so you need to create the index by browsing to the 'Settings' of a blog where you want to use Fats Search. Choose the 'Plugins' tab then find 'Fast Search' and choose 'Settings'. Now click the link in bold that says "Click here to create or rebuild the FastSearch fulltext index". Again, this may take some time, please be patient. After the index has been created, hit the Back button.
  7. Now browse to the 'Publishing' settings tab for the blog, and scroll down to the Setting called "Dynamic Publishing". If the first option, "Build all templates statically", is selected, you should change this setting to "Set each template's Build Options separately" and click "Save Changes" at the bottom of the screen. Otherwise, you don't need to make any changes here.(Note that change this setting will create an .htaccess file in the root path of the blog. Normally you won't notice this and everything will work fine, but if you have an existing.htacces file, you may want to take a look at it to make sure everything looks okay)
  8. If you just changed your Dynamic Publishing settings in the previous step, you should now rebuild all files for this blog by choosing "Rebuild Site" from the left menu, then "Rebuild all Files". You should also ensure that you have a "Dynamic Site Bootstrapper" (mtview.php) index template and make sure that it gets built, if it hasn't been built previously.
  9. Now return to the Fast Search settings ('Plugins' tab within 'Settings') and check the box to enable Fast Search. You may also want to adjust the settings for Maximum Search Results and logging, then click "Save Changes".
  10. Open the Fast Search settings once again and choose "Click here to install the default Fast Search Template." The template will be created and then displayed. This is an dynamic Index template (which can be customized) used to display the search results. (If desired you can also skip this step and create the index template manually, use the template tags as desired, or by cutting and pasting your exisiting search template code)
The Search Form

If you already have search forms on your blog pages, you need to update them to point to the new Fast Search template. For each template that contains a search form, look for the following (or similar):

<form method="post" action="<$MTCGIPath$><$MTSearchScript$>"

...and change it to:

<form method="post" action="<$MTBlogURL>fastsearch"

...save the template and repeat this step for every template that has a search form.

If you want to insert a new search form on your site, or completely replace existing forms, you can use the following:

<form method="get" action="<$MTBlogURL$>fastsearch">
    <label for="query" accesskey="4">Search this blog:</label><br />
    <input id="query" name="query" size="20" />
    <input type="submit" value="Search" />
</form>

Of course you can also add optional fields to the form such as:

<input type="hidden" name="order" value="date" />

....to sort the results by date, or....

<input type="hidden" name="category" value="5" />

...to restrict the search to category_id = 5.

Once you have the search form(s) on you site, rebuild those pages and start searching. You should notice significant speed and resource improvement, especially on blogs with many entries.

Download Fast Search

Non-commercial use - FREE ( although you must include a

Movable Type search results powered by 
<a href="http://mt-hacks.com/fastsearch.html">Fast Search</a>
link on your search results pages.

Also, donations are appreciated:

Commercial use - $97.00

Download Now
Downloads: 481 (since 3/6/07)

As always, suggestions and feedback are appreciated. Please reply to this entry.

Note: FastSearch v1.0 is a suitable replacement for most implementations of the built-in search function in Movable Type. However, there are a few features that Fast Search v1.0 does not include. Fast Search v1.0 does not support comment searches, multi-blog searches (searching multiple blogs at the same time), regexp search, case-senstive search, the use of AND and OR operators, and Edit Entry Links). Also, Fast Search v1.0 does not inlcude MT 3.3 search features such as tag search. Some of these features may be supported in future versions -- please let me know what features you would like to see.

Updated: 8/9/06 07:39:00 - added some additonal info to the instructions based on feedback from Patrick.

Jesse Gardner [TypeKey Profile Page]

Posts: 1

Reply: 1



PostPosted: August 8, 2006 1:25 PM 

Oh man, this is going to make my life so much easier, thank you! I redesign often, and it's such an awful pain to have to go back to the search templates for these changes. Right on!

Iñaki [TypeKey Profile Page]

Posts: 1

Reply: 2



PostPosted: August 8, 2006 2:18 PM 

Great job, Mark! You've done a great job packaging it and making it easy to install for everyone, very good job indeed.

I highly recommend switching from MT's search to this method, we've been using it in our 16 blogs for months and works really well: searches are much faster for users, and the load on the system is much lower.

Patrick [TypeKey Profile Page]

Posts: no

Reply: 3



PostPosted: August 9, 2006 5:19 AM 

I was truly waiting for something like this, so thank you very much!! I'd like to share a few problems I ran into while installing this.

1. I have an all-static blog and the mtview.php file failed to be created when switching to "Set each template's Build Options separately". I had to create a static template for "myview.php" containing the following (found here: http://forums.sixapart.com/lofiversion/index.php/t49502.html).

<?php
include('<$MTCGIServerPath$>/php/mt.php');
$mt = new MT(<$MTBlogID$>, '<$MTCGIServerPath$>/mt.cfg');
$mt->view();
?>

2. Setting "Set each template's Build Options separately" caused MT to create an .htaccess file in my blog's directory, and since I use a global .htaccess at my site's root (which does all kinds of redirects under my blog's path), I had to delete that and add the following to my own .htaccess.

RewriteRule ^mt/fastsearch$ /mt/mtview.php [L,QSA]

3. <MTElse> doesn't seem to be supported, so I had to rewrite some things differently.

4. <MTNoSearchResults> must be used after <MTSearchResults>, not before.

5. Really DO rebuild all files, because that will create [redundant] entry data in the mt_fileinfo table, necessary for the PHP dynamic templates. If you have trouble with <$MTEntryPermalink$> or if getting unexpected "Page not found" errors, rebuild.

It took me a while to figure out that last one especially, but otherwise it went ok and my search now works faster than ever!

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 4



PostPosted: August 9, 2006 6:32 AM 

Thanks for your detailed comments, Patrick.

1. Regarding the mt-view.php file, it seems like you have have deleted this template in the past (because you don't need it for an all static blog). When I installed Fast Search for MT Hacks, I had a similar problem, in which the mt-view.php template was previously set by me to NOt rebuild with indexes, and had never been built. So I had to build manually. Perhaps the plugin could check for these things -- at a minimum, a note about it in the Instructions may be helpful.

2. Yes, setting build options seperately does create that .htaccess file. In most cases, it plays nice with existing .htaccess files, but I have run into cases where I have needed to make modifications to get everything working. I am not sure if this is avoidable, but do like your one-line rewrite rule, which is great for people who only have Fast Search as a dynamic page/template.

3. Regarding <MTElse>, I assume you are using this in conjunction with the <MTSearchIfNextPage> tag? I will look into this, and may be able to add support for this in future.

4. True, <MTNoSearchResults> does need to come after <MTSearchResults>. This seems reasonable to me, as it is mutually exclusive to <MTSearchResults> -- are there cases where there would be advantages to reversing the order? I should at least add a note about this in the instructions.

5. Yes, I had the same confusion and problem intially. It was only after digging in the PHP code for <MTEntryPermalink> that I relaized that it was looking for the link data from the FileInfo table, and that MT creates FileInfo records for every page in your blog, even if only one of them is set to dynamic publishing. Seems a little odd, but the implication is that is important to do a full rebuild of all files after changing your dynamic publishing settings.

Patrick, your implementation looks good. It seems like you customized things to provide multiple-blog search results. I would be interested to hear how you set this up. Wink

Patrick [TypeKey Profile Page]

Posts: 3

Reply: 5



PostPosted: August 9, 2006 9:04 PM 

Hey Mark, thanks for the reply!

1. You must certainly be right, I often delete stuff that I don't need (or think I need!). Smile

3 and 4. I was using <MTElse> with <MTNoSearchResults>, so that I could include header and footer text to the results (other than the <MTBlogResultHeader> which I used as a real per-blog header). My previous template was actually sort of like this (simplified):

<MTNoSearchResults>
  Sorry, no matches for "<MTSearchString>".
<MTElse>
  </h1>Search results for "<MTSearchString>".</h1>
  <MTSearchResults>
    <MTBlogResultHeader><h2><$MTEntryBlog$></h2></MTBlogResultHeader>
  ...
  </MTSearchResults>
</MTNoSearchResults>

> Patrick, your implementation looks good. It seems like you customized things to provide multiple-blog search results. I would be interested to hear how you set this up. Wink

Actually I'm doing that with a rather patchy technique. That search.php script does HTTP requests to /mt/fastsearch, /mt/agenda/fastsearch (etc. for each of my blogs) and then outputs the results together. Each blog's fastsearch template is very minimal. You can see one's output here:
http://www.chipple.net/mt/fastsearch?search=test

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 6



PostPosted: August 10, 2006 7:41 AM 

Regarding number 3 and 4, your example seems a little confusing, having a <MTSearchResults> inside a <MTNoSearchResults> tag. However, I do see your challenge, regarding the multi-blog search hack you are doing. it seems like you could achieve this by having the FastSearch template for the first blog to be like:

<MTSearchResults>
    <MTBlogResultHeader>
<h1>Search results for "<MTSearchString>".</h1>
<h2><$MTEntryBlog$></h2></MTBlogResultHeader>
  ...
  </MTSearchResults>
<MTNoSearchResults>
  Sorry, no matches for "<MTSearchString>".
</MTNoSearchResults>

... and the subsequent blogs would omit the <h1> part:

<MTSearchResults>
    <MTBlogResultHeader>
<h2><$MTEntryBlog$></h2></MTBlogResultHeader>
  ...
  </MTSearchResults>
<MTNoSearchResults>
  Sorry, no matches for "<MTSearchString>".
</MTNoSearchResults>

I was wondering if that was your approach to multi-blog search. Perhaps the next version of Fast Search can incoporate multi-blog searching in one form or another...

Jake [TypeKey Profile Page]

Posts: 10

Reply: 7



PostPosted: August 14, 2006 7:22 PM 

I am not a developer, but just an FYI: At least in what I just downloaded, the directory structure is in correct. Shouldn't it be:

plugins
--FastSearch
php
--Plugins

Right now the PHP files are in the php folder, and I know I couldn't get the forms to even load and got a bunch of smarty errors until I moved those files into the plugins folder.

Still working on getting it to work properly on my site, but after having trouble with mt-search for a long time, this will make me stupidly happy if I can get it to work Smile

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 8



PostPosted: August 14, 2006 7:54 PM 

Thanks for reporting that issue with the directory structure in the zip file. I was not aware that I didn't have the php files in a 'plugins' folder. I have updated the zip file to fix this.

Please let me know if you need any help or advice with getting it working on your server.

Jake Ortman [TypeKey Profile Page]

Posts: 10

Reply: 9



PostPosted: August 14, 2006 8:02 PM 

I actually figured out my problem, Mark, after digging through my ProNet email list archives. I had caching enabled in my mtview.php file, so it wasn't loading any search results. After I disabled caching line in there, it worked fine.

Jake Ortman [TypeKey Profile Page]

Posts: 10

Reply: 10



PostPosted: August 14, 2006 8:22 PM 

OK, one feature suggestion: provide some .htaccess examples on how we can make this even more of a drop-in replacement for mt-search.cgi so we can redirect requests to that file to fastsearch and get rid of that cgi resource hog.

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 11



PostPosted: August 15, 2006 7:50 AM 

Good to hear, Jake. If you are interested, you will also find my solution for getting MT caching to play nice with Fast Search (click for ProNet message - requires ProNet login).

I will play around with .htaccess to see if I can come up with some rewrite rules. Intially I was hoping to just override the <MTSearchScript> tag and point it to Fast Search, but the default templates preface this with the <MTCGIPath> tag, which complicates things. That said, there may be some rewrite solutions.

Dascalargo [TypeKey Profile Page]

Posts: no

Reply: 12



PostPosted: August 21, 2006 2:19 PM 

Mark-

I'm trying to isntall FastSearch. Got to step 6 (Yes, I am on 3.2) and when I click the link I get the following:

Can't call method "do" on an undefined value at /home/u2/dascalargo/html/mt/plugins/FastSearch/FastSearch.pl line 56.

Any ideas?

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 13



PostPosted: August 21, 2006 2:42 PM 

Dascalargo, that section of the code relates to loading the database driver and executing some SQL code. I am not sure exactly why you are getting this error.

Please forgive the obvious question: can you confirm that your installation of MT is using mySQL as a data source? If you are not sure, look for an "ObjectDriver" line in your config file (either named mt.cfg or mt-config.cgi).

Dascalargo [TypeKey Profile Page]

Posts: no

Reply: 14



PostPosted: August 22, 2006 9:08 AM 

Mark, no need to apologize for the obvious question because it did need to be asked. I glossed right over the MySQL requirement, but I figured that much out before you had the chance to respond.

Yesterday afternoon I decided to try to migrate over to MySQL. A lot of this stuff is groping in the dark, learning as I go along, and I'd done pretty well... until now.

I got MySQL set up, no problem. Started the MT upgrade which transferred everything over, but it bombed out in the middle for some reason. I got some totally non-descript error message -- something akin to, "I'm afraid I can't do that, Dave," with no further explanation. Long story short, the MySQL database was corrupted and my MT password ceased working.

So... I'm starting from scratch, installing MT 3.3. I had been considering doing that anyway -- I originally installed MT a few years ago, when even more of this was trial-and-error for me, then upgraded to 3.2, and then moved the entire install to a new server, so the set-up was in desperate need of a clean-up anyway -- but I always talked myself out of it because of the work involved. Looks like I convinced myself. Very Happy

Bottom line: Once I get MT installed (this time using MySQL), I'm going to try FastSearch again. I look forward to using it.

Sorry to have unnecessarily bothered you with this.

Dascalargo [TypeKey Profile Page]

Posts: no

Reply: 15



PostPosted: August 24, 2006 12:51 PM 

Mark-

Finally got Fast Search to work with my new install of MT... sort of.

It seems to not see certain words. Bat, Fox, Dog, between, able, two, first, something, and sent are all words that appear in the main body of an entry, but which Fast Search doesn't see. I have rebuilt the site as well as building, rebuilding, and re-rebuilding the fulltext index, and it's always the same words that go unnoticed.

Here's something else I noticed in experimenting. I have the word voice in two entries, both of which Fast Search returns when I search on that word. Fast search finds neither that nor to, but it CAN differentiate between and find the correct entry if I search for the phrases "voice that" and "voice to".

The page can be viewed at http://www.triviot.com/index2.php. It's not live and the subsequent archives and search results pages have no styles applied to them yet.

I generally tend to think I did something wrong in these cases, but this time I'm stumped.

Dascalargo [TypeKey Profile Page]

Posts: no

Reply: 16



PostPosted: August 24, 2006 12:52 PM 

Oh, and yes, I'm on MySQL this time. Very Happy

Dascalargo [TypeKey Profile Page]

Posts: no

Reply: 17



PostPosted: August 24, 2006 1:03 PM 

Damn. One more thing I meant to tell you...

On your default search results page, the courtesy link back to you is broken. Looks like you left off the dot-com.

Sorry to be flooding the comments.

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 18



PostPosted: August 24, 2006 2:59 PM 

Thanks for the note regarding the error in that link -- I also received an email about that and it has now been fixed.

You description above about the search results is normal and to be expected. mySQL fulltext search excludes words less than 4 characters by default -- this is why searches for words like bat, fox, and dog don't work. Furthermore, fulltext also excludes a list of "stop words", which likely include between, able, something, etc. The goal in both cases if to avoid really short or commmon words in order to return the most relevant results.

So you didn't do anything wrong. Some people don't like the fact that you can't search for 3 letter words -- this can be changed in the mySQL config file, but unless you have a dedicated server, this may not be possible.

Dascalargo [TypeKey Profile Page]

Posts: no

Reply: 19



PostPosted: August 24, 2006 4:18 PM 

Thanks, Mark. I'm totally new to MySQL, so was ignorant about stopwords and word length. I've since done a bit of research.

Yeah, I'd probably want to be allowed to search three-letter words if I had the option -- my database should be small enough that I don't think it would make a big difference in building the file -- but that option isn't available to me. As for the stopwords, I have no problem with the concept that it doesn't include certain words. I mean, in reality I never would search on the words I tested anyway. I did find a copy of the built-in stopwords list (which my server is using), and it helps to see what isn't on the list.

Thanks again. I'm up and running, and fully understanding now. I think I'm finally out of your hair. Wink

Arvind Satyanarayan [TypeKey Profile Page]

Posts: 3

Reply: 20



PostPosted: August 26, 2006 11:37 PM 

Quick question, I was using Joe D'Andrea's Seeker plugin which is quite similar to FastSearch. The only qualm I had with Seeker was that it couldn't log searches to the activity log, hence my question, does FastSearch like MT::App::Search log searches to the Activity Log?

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 21



PostPosted: August 27, 2006 6:59 AM 

Hi Arvind,

Yes, Fast Search does log searches to the Activity Log. Both 3.2 and 3.3 log formats are supported. Logging is off by default but can be enabled on a per-blog basis (blog-level settings).

Thanks for bringing to my attention the fact that I was not explicit about this above.

Anish

Posts: 1

Reply: 22



PostPosted: August 29, 2006 12:01 AM 

Hi,

Can you provide installation instructions for lighty+fastcgi. We are currently getting 404 errors. Lighty will not recognise .htaccess files

Anish


Ryan J. Bonnell [TypeKey Profile Page]

Posts: 1

Reply: 23



PostPosted: September 14, 2006 4:42 PM 

I was able to follow all of the instructions on setting up FastSearch for my Movable Type installation, but after completing step 10 and doing a test search the page returns an error message of "Page not found - /fastsearch".

I've added the Rewrite ruled in my .htaccess file as mentioned by Patrick and I even see the query show up in my the Movable Type activity log, but FastSearch doesn't seem to work for me (even after rebuilding several times to update the fulltext index).

Any thoughts on what I might be doing wrong? The server is Red Hat Linux Enterprise running Apache 2.0 on one of Media Temple's dedicated virtual servers.

.htaccess:
RewriteEngine on
RewriteRule ^/fastsearch$ /mtview.php [L,QSA]

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 24



PostPosted: September 14, 2006 8:02 PM 

Ryan,

Given your description, you can try two things:

1) Try rebuilding all indexes. However, it sounds like you have done this.

Is the "not found" page a standard apache 404 page, or does it look different? Specifically, I am wondering whether this page is being generated by mtview.php. If it is not, try the following:

2) Check to make sure that Apache is configured to allow the use of .htaccess files in the root directory of the web site. Since this is a dedicated server, you should be able to check and change this, if necessary. I recently came across this issue with a Fast search install. The solution was to add the following to the apache config:


Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all

"AllowOverride All" is the key line above.

If you can provide a link to your search form, I can confirm whether the "not found" page is being generated by mtview.php, or not. If it is, it means that you .htacess is working fine, but the MT "FileInfo" record is not there. In this case, make sure that you have completed step 7, check that your Dynamic publishing settings are set to "Set each template's Build Options separately". As well, make sure that the Fast Search index template is present under Index Templates. If it is not there, revist step 10: Open the Fast Search settings once again and choose "Click here to install the default Fast Search Template." In the Fast Search index template is there, make sure it is set to build dynamically. Then rebuild indexes.

Please let me know if any of the above fixes the problem.

James Bow [TypeKey Profile Page]

Posts: 11

Reply: 25



PostPosted: September 17, 2006 12:04 PM 

I must have missed something. I followed your instructions and yet I'm getting 404 Not Found errors whenever I try a Fast Search. Have a look at http://www.bowjamesbow.ca/blog.shtml

Any suggestions appreciated.

Jim [TypeKey Profile Page]

Posts: 1

Reply: 26



PostPosted: September 17, 2006 6:33 PM 

Finally!! A search for Movable Type that WORKS!!

Thanks - I'll be installing it on all of my blogs

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 27



PostPosted: September 17, 2006 7:52 PM 

James,

It seems like you may be missing the "Dynamic Site Bootstrapper" (mtview.php) index template -- or, this index template has not been built. If you see this under index templates, rebuild it. If not, you need to create it. Name it "Dynamic Site Bootstrapper" and use output file "mtview.php". You can grab the default template from here. This template does not need to be "rebuilt with indexes", but be sure to build it at least once.

Let me know if this doesn't work...

James Bow [TypeKey Profile Page]

Posts: 11

Reply: 28



PostPosted: September 17, 2006 10:21 PM 

Does the Dynamic Site Bootstrapper have to be published dynamically, or should it be static?

James Bow [TypeKey Profile Page]

Posts: 11

Reply: 29



PostPosted: September 17, 2006 11:14 PM 

Okay, I don't know what I did (constantly switching mtview.php and fastsearch between static and dynamic and rebuilding), but it works now.

A relief too. Much better search method.

James Bow [TypeKey Profile Page]

Posts: 11

Reply: 30



PostPosted: September 17, 2006 11:33 PM 

I thought I should let you know that the plugin doesn't play nice with markdown and smartypants and any posts which are formatted using these plugins chokes the search. But this is easily fixed by adding the variable convert_breaks="1" in the EntryExcerpt field.

Aziz Ashofte [TypeKey Profile Page]

Posts: 1

Reply: 31



PostPosted: September 18, 2006 1:51 AM 

Mark,You've done a great job in Fast Search but the fact is that it is only working in Latin alphabets. I'm not very professional in php but it seems that you've used some functions that do not support 2-byte characters in UTF-8 format. Most of non-Latin languages are using this type of 2-byte chars and your search plugin is not working in these languages.

I want to know if you can do me and a lot of others, who are using MT to publish weblogs in non-Latin alphabets, a favour by solving this issue. I'm eager to donate some if you can solve this problem. besides I know a lot of other who are capable of donating more if you end this search nightmare for them.

Waiting to hear good news from you.

George [TypeKey Profile Page]

Posts: 1

Reply: 32



PostPosted: September 27, 2006 4:18 AM 

I'm getting this error:

SQL/DB Error -- [You have an error in your SQL syntax near 'BOOLEAN MODE) AS score FROM mt_entry, mt_author WHERE entry_blog_id IN (1) AND e' at line 1]

I'm using the MT 3.33 on a MySQL database. Can't figure out what is wrong. I do see the fastsearch page, I do see a search box and I also see the error mentioned above. Is it a MT 3.33 problem? I have rebuilded the fulltextsearchindexthingie and my whole blog.

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 33



PostPosted: September 27, 2006 7:05 AM 

George, what version of mySQL are you running? This error sounds like you are using an old version of mySQL, that does not support fulltext searching. As stated above, mySQL 4.0.1 or higher is required for the current version of Fast Search. However, an upcoming release of Fast Search may support older version of mySQL. Stay tuned.

George [TypeKey Profile Page]

Posts: no

Reply: 34



PostPosted: September 28, 2006 4:21 AM 

Hi Mark,

Oops. I'm using the 3.23.58 version. Going to kick my provider Smile

Thanks!

Diego [TypeKey Profile Page]

Posts: 4

Reply: 35



PostPosted: September 29, 2006 11:59 AM 

Hi Mark,

I noticed there is a next page tag but I was wodering if in the future you plan to include a previous tag or why not some pagination numbers ala Google.

This is such a huge improvement from the search.cgi that I hope Six Apart implements this in their next major release!

Thanks.

Diego

Posts: 4

Reply: 36



PostPosted: September 29, 2006 1:26 PM 

Hi Mark,

Weird question: is there any restricted English words that won't appear in the search results page?

I'm having a problem with the word "associated". I've created an entry with the text below:

"an association of associates. associate. associater. associated. asociated."

and all the words can be found except "associated". I'm quite confused about this.

Do you have any suggestions or has anyone had a similar issue?

Diego [TypeKey Profile Page]

Posts: 4

Reply: 37



PostPosted: September 29, 2006 1:52 PM 

I just realised that the issue with some words has to do with mySQL stop words (As somebody pointed out previously).

For those interested, the link to the full list is below:
http://dev.mysql.com/doc/refman/5.0/en/fulltext-stopwords.html

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 38



PostPosted: September 29, 2006 5:26 PM 

Hi Diego,

With respect to a "previous" tag, yes, I think that is something that I could add in future.

Regarding the pagination numbers, this is possible, but I decided against it, as it could affect perfomance. The challenge pagination numbers is that you need to know the total number of search results -- and this would require another "count" query. I'm not a mySQL expert, so I am not sure how much this would impact performance, but with blogs with many entries, it might.

Rich [TypeKey Profile Page]

Posts: 1

Reply: 39



PostPosted: October 1, 2006 5:44 AM 

Hi Mark,

Thanks for coming out with such a useful plugin. I was dissapointed at the speed of search.cgi in MT 3.3 too.

I managed to install the plugin but the fastsearch template breaks with some MT tags. I can get a full list of search results if I only list the <MTEntryTitle> or <MTEntryDate> tag in the template but the results break on the first one if I want to include <MTEntryExcerpt> or <MTEntryBody>. My entries are stored in a MySQL database.

Any thoughts? Thanks a lot!

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 40



PostPosted: October 1, 2006 8:22 AM 

Rich,

That's a strange one. Being a php plugin, Fast Search won't support many tags from other non-php plugins, BUT it does support core MT tags such as MTEntryExcerpt and MTEntryBody. Both of these have been tested and work fine in the search results. Can you provide an example of an error message? Or perhaps a link to your search form?

Patrick [TypeKey Profile Page]

Posts: 3

Reply: 41



PostPosted: October 1, 2006 9:32 PM 

> Regarding the pagination numbers, this is possible, but I decided against it, as it could affect perfomance.

MySQL has a SQL_CALC_FOUND_ROWS keyword that seems to makes this doable in a more efficient way than doing a separate COUNT().

http://dev.mysql.com/doc/refman/4.1/en/information-functions.html#id2826088
Some PHP related comments are here:
http://www.php.net/manual/en/function.mysql-num-rows.php

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 42



PostPosted: October 2, 2006 1:37 PM 

Patrick, that sounds interesting, thanks for the pointer. I will try this out for the next version.

Diego [TypeKey Profile Page]

Posts: 4

Reply: 43



PostPosted: October 5, 2006 10:48 AM 

Hi Mark,

When I was validating the fast search results page with the html validator at http://validator.w3.org/ I got some errors due to encoding (My page's xhtml).

By encoding the ampersands in block.MTSearchResults.php line 100 as below the validation passes.

$next =
$uri[0]."?query=".urlencode($query)."&category=".$category."&order=".$order."&lastn=".$lastn."&offset=".$offset;

Hope it helps.

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 44



PostPosted: October 9, 2006 11:04 AM 

Thanks for all the suggestions in this discussion. Many of them have lead to new features, which have just been released in version 1.5.

Click here for deatils about Fast Search v1.5.

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 45



PostPosted: October 12, 2006 10:14 AM 

James, I have move your comment over to the v1.5 discussion - see my response there.



Posts: no

Reply: 46



PostPosted: November 17, 2006 3:05 AM 

Warning: main(): open_basedir restriction in effect. File(/var/www/vhosts/tracli.net/cgi-bin/mt8/php/mt.php) is not within the allowed path(s): (/var/www/vhosts/tracli.net/httpdocs:/tmp) in /var/www/vhosts/tracli.net/httpdocs/test8/mtview.php on line 2

Warning: main(/var/www/vhosts/tracli.net/cgi-bin/mt8/php/mt.php): failed to open stream: Operation not permitted in /var/www/vhosts/tracli.net/httpdocs/test8/mtview.php on line 2

Warning: main(): Failed opening '/var/www/vhosts/tracli.net/cgi-bin/mt8/php/mt.php' for inclusion (include_path='.:/usr/share/pear') in /var/www/vhosts/tracli.net/httpdocs/test8/mtview.php on line 2

Fatal error: Cannot instantiate non-existent class: mt in /var/www/vhosts/tracli.net/httpdocs/test8/mtview.php on line 3

error -_-" why not

Kyle [TypeKey Profile Page]

Posts: 1

Reply: 47



PostPosted: December 11, 2006 6:43 PM 

I'm testing fastsearch for a non-profit site I help out. I'm getting this error from the default template:

SQL/DB Error -- [You have an error in your SQL syntax near ' MATCH (entry_title, entry_text, entry_text_more, entry_keywords ) A' at line 1]

SQL/DB Error -- [You have an error in your SQL syntax near '()' at line 1]

Any idea what might cause this?

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 48



PostPosted: December 12, 2006 6:50 AM 

Kyle, you will need to provide more details. Whate version of mySQL are you using? What FastSearch mode? My guess is that you are using an old version of mySQL (older than 4.0.1) and that you are using the Fulltext method. If both are true, try switching to the "Non-fulltext" method. Older versions of mySQL don't support Fulltext.

kyle [TypeKey Profile Page]

Posts: 11

Reply: 49



PostPosted: December 12, 2006 5:34 PM 

Looks like we have MySQL 2.1021. Yes, it was set to Fulltext mode. We're using Media Temple. You'd think it would be more current.

I changed the settings to "non-fulltext" and rebuilt the FastSearch Index and now the error looks like this:

SQL/DB Error -- [You have an error in your SQL syntax near 'DISTINCT * FROM mt_entry left outer join mt_placement on ' at line 1]

SQL/DB Error -- [You have an error in your SQL syntax near '()' at line 1]

Patrick [TypeKey Profile Page]

Posts: 3

Reply: 50



PostPosted: December 12, 2006 10:15 PM 

I'd tend to think that those DISTINCT's aren't necessary, so you could try removing them from the file block.MTSearchResults.php.

However, the version of MySQL you're using really is very old, and you might run into other problems.

Mark Carey

Posts: 150

Reply: 51



PostPosted: December 13, 2006 9:14 AM 

Kyle, I googled for that version of mySQL, but instead I found aversion of the Perl DBD:mySQL lib with that exact version. It seems like you have given me the version of the perl module, not for mySQL itself. It is highly unlikely that mediatemple would be using anything older that v3x.

kyle [TypeKey Profile Page]

Posts: 11

Reply: 52



PostPosted: December 13, 2006 12:58 PM 

Sorry, that's what mt-check.cgi said. In phpMyAdmin it says: "MySQL 3.23.58 running".

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 53



PostPosted: December 14, 2006 12:54 PM 

Thanks, Kyle. I think I have figured out the problem. To reply to Patrick's comment, it doesn't seem like it has anything to do with the DISTINCT keyword, but rather the keyword that precedes it the query: SQL_CALC_FOUND_ROWS. I just looked it up and indeed it is only available in mySQL v4+. I used this to help calculate the total number of results for a particular search. It's more efficient that way. In a future version, I may be able to work around this for people running olders versions of mySQL -- the perfomance won't be as good, but it will still be better than the MT built-in search.

Patrick [TypeKey Profile Page]

Posts: no

Reply: 54



PostPosted: December 14, 2006 8:53 PM 

Oops, sorry about that wrong diagnostic.

Slobokan [TypeKey Profile Page]

Posts: 1

Reply: 55



PostPosted: December 19, 2006 3:42 PM 

I have had FastSearch implented for about two weeks, and now visitors are getting this error when attempting to search:

Parse error: parse error, unexpected \'{\', expecting \')\' in /home/slobokan/public_html/cgi-bin/mt/php/extlib/smarty/libs/Smarty.class.php(1936) : eval()\'d code on line 35

I have not made any modifications to any of the mt files, or the fast search, since installation, and it used to work just fine.

Any ideas?

kyle [TypeKey Profile Page]

Posts: 11

Reply: 56



PostPosted: December 28, 2006 1:45 AM 

Mark, I switched over to Media Temple's Grid Server which has MySQL 4.11 and everything is working perfectly. Thanks for your help.

kyle [TypeKey Profile Page]

Posts: 11

Reply: 57



PostPosted: December 29, 2006 3:42 PM 

The script has been working great except for one issue, when it finds entries that are formatted using the textile2 plugin I get this error on the results page:

Smarty error: [plugin] modifier 'textile_2' is not implemented (core.load_plugins.php, line 11Cool

kyle [TypeKey Profile Page]

Posts: 11

Reply: 58



PostPosted: December 30, 2006 11:32 PM 

OK. I downloaded and installed the PHP version of MT-Textile2 fromhere and I no longer get the Smarty error.

raul Gutierrez

Posts: 4

Reply: 59



PostPosted: January 24, 2007 11:05 PM 

This is excellent... any way to implement the feeds from search terms feature found in the default template?

Mark Carey [TypeKey Profile Page]

Posts: 44

Reply: 60



PostPosted: January 25, 2007 8:57 AM 

raul,

Yes, it is possible.

Just create a second index template for the Feed template, using the Fast Search template tags as appropriate. You could start with the default RSS or Atom template, or even with the 3.3 search feed template code. Either way, you will have to modify/remove tags as appropriate. A future version of Fast Search may have "built-in" support for search feeds.

Smaty [TypeKey Profile Page]

Posts: 4

Reply: 61



PostPosted: January 27, 2007 12:05 PM 

Hello ,
i want to use my from for search Multi Blog with one form , please give me that Code ,
for example for search blogs with "1" "3" "6" id with one form.

Thank you.

jim [TypeKey Profile Page]

Posts: 1

Reply: 62



PostPosted: January 30, 2007 3:51 PM 

I love fastsearch... it really does improve performance over here on our internal blog with almost 9000 entries.

My question: does fastsearch support mt 3.34s tags and if so what code would we use to update a tag listing like this:

<MTEntryIfTagged>
<a>TAGS: </a><MTEntryTags glue=", "><a href="<$MTTagSearchLink$>"><$MTTagName$></a></MTEntryTags></MTEntryTags> <MTElse>
</MTElse>
</MTEntryIfTagged>

Mark Carey [TypeKey Profile Page]

Posts: 44

Reply: 63



PostPosted: January 31, 2007 8:31 AM 

Smaty, you would use <MTSearchResults blogs="1,3,6"> in your Fast Search template. Or, place <input name="blogs" type="hidden" value="1,3,6"> in your form.

jim, as stated above, the current version of Fast Search does not support tag searches (MT 3.3+). That may be added in a future version.

Martin Kelley

Posts: 1

Reply: 64



PostPosted: February 2, 2007 11:31 PM 

Last September I added automatic tagging to my personal MT-powered blog and used MT-Search and the htaccess trick mentioned in SixApart's tagging post (scroll to the "Beautifying the tag search link URLs"). The results were beautiful: Google visits more than doubled.

Unfortunately MT-Search wasn't up for the extra load and my server started crashing once a week. I installed FastSearch and it's almost perfect. The problem I'm having is that links to domain.com/tag/whatever now get rewritten as domain.com/fastsearch?query=whatever. Is there any way to "beautify" the FastSearch result. I think the short URLs really matter. This may just be my ignorance of how htaccess works, but for the life of me I can't figure this out.

More about how I've pulled this altogether on this immodestly named post on my design blog. Thanks for a great plug-in and thanks everyone for any answers to my problem.
Martin

darkmoon [TypeKey Profile Page]

Posts: 23

Reply: 65



PostPosted: February 7, 2007 7:14 AM 

Found a slight ordering issue with the MTSearchResults tag.

default is: relevance=1 and google_results=1

The problem with relevance currently is that it looks at all the entries with "all the keywords" then it looks at single keywords. But when grouping the entries, it reads oldest to newest. Most search results give you "latest by date" first since that's what you're looking for, not the oldest post.

Mark Carey [TypeKey Profile Page]

Posts: 44

Reply: 66



PostPosted: February 7, 2007 8:12 AM 

Martin, automatic tagging technique is very cool. As long as you are not using MT3.3 built-in tags feature, you will be able to search using Fast Search will search the entry, extended entry, excerpt and keywords fields, but not (yet) the Tags field.

That said,the other issue if the URL rewriting make nice looking URLs like domain.com/tag/something. Unforunately, due to the way that MT dynamic publishing works, when you try to do this kind of thing, it does not work as you would expect. This is a pet peeve of mine because it does not support .htaccess URL rewriting like this. In future, I plan to release a modified version of the MT.php file that will support -- if it works, it will enable you do what you are trying to do. Look for this in conjucntion with the release of Fast Search 2.

darkmoon [TypeKey Profile Page]

Posts: 23

Reply: 67



PostPosted: February 9, 2007 9:40 AM 

I just moved my site. The fastsearch is now a blank page. Any ideas on what the issue or error is? Is this another dynamic publishing issue?

darkmoon [TypeKey Profile Page]

Posts: 23

Reply: 68



PostPosted: February 9, 2007 2:26 PM 

Fixed.

Also found a slight bug in the fastsearch template.

Right above the search results, if you try to search again, it fails. I changed it to show the following and it works now:


fastsearch.php">
" />
Search this site:

" />


darkmoon [TypeKey Profile Page]

Posts: 23

Reply: 69



PostPosted: February 9, 2007 2:43 PM 

Bleh. hopefully this posts this time:

< form method="get" action=" <$MTBlogURL>fastsearch.php">
<input type="hidden" name="IncludeBlogs" value="<$MTBlogID$>" >
<label for="search" accesskey="4"><h3>Search this site:</h3><label>
<p><input id="search" name="search" size="30" value="<$MTSearchString$>" >
<input type="submit" value="Search" >
</form>

Mark Carey [TypeKey Profile Page]

Posts: 44

Reply: 70



PostPosted: February 11, 2007 8:37 AM 

Hi darkmon, glad its working. That's not a bug, however. The search didn't work because you changed the output file name of the fastsearch template. The default is "fastsearch" (no extension), and its seems like you changed it to "fastsearch.php". It's okay to change the filename like this, but you do need to make sure that all search forms reflect this change. Wink

darkmoon [TypeKey Profile Page]

Posts: 23

Reply: 71



PostPosted: February 11, 2007 10:24 AM 

Really? Because I checked the template after I changed the output of the file name. It would not IncludeBlog at all, nor was there a way to do tell it what to search.

Which is why I edited the template itself.

The search form which is given above is fine, but there is nothing about changing the template itself. The above code is actually right in the middle of the fastsearch template.

Mark Carey [TypeKey Profile Page]

Posts: 44

Reply: 72



PostPosted: February 11, 2007 4:14 PM 

Sorry, darkmon, I guess I missed the "bug" you were talking about. You don't need the IncludeBlogs argument -- the plugin knows what blog it is based on the context on the search results page (meaning, since the plugin knows the template being displayed is from blog 2, the results will be limited to blog 2).

The only time IncludeBlogs is required is when you are searching one or more blogs other than the blog where fast search template lives.

lisa

Posts: 1

Reply: 73



PostPosted: February 11, 2007 8:38 PM 

You asked for suggestions for Fast Search:

1. AND!

2. Support for custom mysql entries like those added by Right Fields.

3. Full support for tags.

4. Multiblog results

I'd suggest setting the default search results to AND and 'by date'.

darkmoon [TypeKey Profile Page]

Posts: 23

Reply: 74



PostPosted: February 12, 2007 9:02 AM 

Strange. I don't know why it didn't work then when I didn't include the Include Blog tag. For whatever reason, if you just copy the search form and edit it to the template (which is what the above is), then it works well.

When I just left it as default, it would give blank query strings.

Trevor

Posts: 2

Reply: 75



PostPosted: February 12, 2007 8:52 PM 

Hey there,
I've installed FastSearch on a site and have it set to display results according to relevance. For some reason, it doesn't seem to be working completely.

The results aren't displaying by date but not totally by relevance either.

I know this because, for example, when I do a search for "pies." There are five listings that come up. If I update one of the listings and add information about different pies, the order of the search results doesn't change.

If I remove all mentions of pies from a listing, it doesn't show up in the search results any longer.

I added one new listing for a pie shop, with lots of listings of pies, and it shows up at the bottom of the search results.

I guess I'm wondering what FastSearch uses to determine relevance?

Any thoughts? I've been doing lots of tests and am not having much luck. Any help would be greatly appreciated!

Mark Carey [TypeKey Profile Page]

Posts: 44

Reply: 76



PostPosted: February 13, 2007 8:14 AM 

Trevor, Fast Search used the relevance algorithms built-in to mySQL when used with fulltext indexing. More info can be found here, but here is a quote from that page:

" Every correct word in the collection and in the query is weighted according to its significance in the collection or query. Consequently, a word that is present in many documents has a lower weight (and may even have a zero weight), because it has lower semantic value in this particular collection. Conversely, if the word is rare, it receives a higher weight. The weights of the words are combined to compute the relevance of the row. Such a technique works best with large collections (in fact, it was carefully tuned this way). For very small tables, word distribution does not adequately reflect their semantic value, and this model may sometimes produce bizarre results."

It's not Google-quality relevance, but in general it seems to work pretty good.

Trevor

Posts: 2

Reply: 77



PostPosted: February 13, 2007 11:59 AM 

Hey Mark,
Thanks for your answer. Does FastSearch put more or less weight on keywords vs entry vs tags? Does it use one of those fields or all of them?

Would the length of the search word make a difference? When I search for the word "pie" using Fulltext mode, no entries are found even though I have one listing with the word "pie" in it. When I use Fallback, a whole bunch of listings are found that include "pie" as part of other words.

Basically, my client is doing searches on businesses listed on his site and is bothered that the most relevant businesses are showing up closer to the bottom than the top.

ANY help you can give would be greatly appreciated. I've spent a lot of time on this and I feel like I'm getting nowhere.

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 78



PostPosted: February 13, 2007 3:05 PM 

Fast Search will search the Title, entry, extended entry, excerpt, and keywords fields. Keywords found within those would be treated equally by mySQL.

With mySQL fulltext search, words less than 4 charaters long are not indexed, that's why they show zero results. If you have access to the mySQL config files, you can change this setting. When you use "Fallback", Fast Search will fallback to a non-fulltext search, which does allow 3 letter words, including partial words, etc.

MySQL relevance is what it is, so its tough to change that. If you are on a dedicated server, you could tweak some seeting as mentioned here.

Smaty [TypeKey Profile Page]

Posts: 4

Reply: 79



PostPosted: February 15, 2007 10:16 PM 

Hello Mark , Thank you.
I try it but its dont work.
Can you please give me an example?

Mark :
Smaty, you would use in your Fast Search template


My Form :

fastsearch"> Search this blog:
Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 80



PostPosted: February 16, 2007 7:15 AM 

Smaty, as stated previously one way to do this is to use the following form code:

<form method="get" action="<$MTBlogURL$>fastsearch">
<label for="query" accesskey="4">Search this blog:</label><br />
<input name="blogs" type="hidden" value="1,3,6">
<input id="query" name="query" size="20" />
<input type="submit" value="Search" />
</form>

Notice the line in bold above. Edit the 1,3,6 to have the blog_ids of the blogs that you want the form to search.

Smaty [TypeKey Profile Page]

Posts: 4

Reply: 81



PostPosted: February 17, 2007 9:16 AM 

Dear Mark,
Thank you veru much.

reeves [TypeKey Profile Page]

Posts: 1

Reply: 82



PostPosted: February 22, 2007 1:22 PM 

For future updates I'd like to put in my vote for including AND searching. We're developing a new website in MT right now while I love most things about fast search (love the speed and the server efficiency), without AND as the standard setting we're going to stick with the default MT search... most of the searches we get are two word searches and without AND there are just too many bad results returned. Also I believe that this is how people expect search to work as this is how google, yahoo, spotlight and now vista return results.

Support for custom mysql fields would also be great although I understand why this would be a low priority.

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 83



PostPosted: February 22, 2007 1:56 PM 

Thanks for the comments, reeves.

A few things to note:

The "non-fulltext" search mode does currently default to AND searching -- only results with all keywords will be returned. And its still pretty fast compared to the built-in search. You should try it. (Fast Search v1.5+)

The fulltext mode also supports AND -type searching, but not by default. You currently need to preface each word with a + to required that keyword to be present. A future version of Fast Search may include an option for searches to default in this way, only displaying results that contain all keywords. Click for a description of the AND/OR operators currently supported.

Smaty [TypeKey Profile Page]

Posts: 4

Reply: 84



PostPosted: February 22, 2007 6:46 PM 

templates_c is 777 and fully writable,
unfortunately is a high level of danger.
hackers can upload any files such as php shell script, with other accounts on shared servers.

what is solution?

Patrick

Posts: 1

Reply: 85



PostPosted: March 3, 2007 9:17 PM 

For some unknown reason the hosting company that I use doesn't all .htaccess files to be created on their servers. It there a way to get around this with installing Fast Search?

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 86



PostPosted: March 3, 2007 9:37 PM 

Well, Patrick, it may be time to find a new host. Not allowing .htaccess can limit you in many ways.

Does your host allow custom error pages? If so, you may be able to assign mtview.php as the custom 404 page not found error page. This would work. Apart from that, I can't think of a way to do it without .htacess.

Court [TypeKey Profile Page]

Posts: 1

Reply: 87



PostPosted: April 7, 2007 4:31 PM 

Greetings Mark, I downloaded and installed Fast Search today on my blog so that I could use it to paginate my search results and tag results (tags are a great addition btw) and I have paid for the use as a business Smile

The search function is working great and I have been able to customize the templates to some degree but there is one thing I cannot seem to fix and I was hoping you might help me. I use another plugin called Right Fields http://www.staggernation.com/mtplugins/RightFields which allows me to create my own tags.

The challenge is that your Fast Search plugin does not recognize the Right Fields plugin tags that I have created and am displaying in my search results and it throws an error (whereas the original mt-search.cgi does not)... For this reason I cannot use your search at all on my site because the extra Right Fields tags are critical to the design. Also note, if you visit my site, I am using the Google Site search utility, tags are really the only way I am "searching" with your or MT search utilities.

At this point I have reset my search to the old MT version so that I don't get the error. You can visit my search results page at http://www.abstractmall.com/mt/mt-search.cgi?tag=men&blog_id=1 to see how it should or would look. An example of the Right Tags that throw off your results is

Note: all of the t-shirt images and hover images are being brought in with Right Fields, if you could add compatibility for this plugin to your search plugin I would most appreciate it!

Also, how do you get your link to PayPal to land on the "enter credit card" page instead of the login page? I am using PayPal standard and I assume you are too?

kyle [TypeKey Profile Page]

Posts: 11

Reply: 88



PostPosted: May 9, 2007 2:41 PM 

We've had fastsearch running for a few months and all of a sudden last night it stopped working. No code was changed that I'm aware of and the fastsearch page is accessible directly, but submitting search terms results in a blank page. The only assumption I have is that maybe something was entered in a post that might be causing some "indigestion", but I don't know where to start trying to troubleshoot.

kyle [TypeKey Profile Page]

Posts: 11

Reply: 89



PostPosted: May 13, 2007 11:08 PM 

I think the host recently updated to PHP v4.4.6 around the time fastsearch stopped working. The host claims they didn't do anything but the phpinfo(); notes the update. Would anything be effected by that? I uninstalled and reinstalled and still get a blank page.

Karim [TypeKey Profile Page]

Posts: 1

Reply: 90



PostPosted: May 15, 2007 7:08 AM 

I've installed FastSearch but have come to a problem. When I try a search, the search string is in the address bar, but the page displays Searched for "" . No entries found.

I've tried a few different form methods but nothing seems to work. Oh and i've rebuilt a lot and reindexed a few times too.

thanks,

karim

kyle [TypeKey Profile Page]

Posts: 11

Reply: 91



PostPosted: May 30, 2007 3:31 PM 

Just to follow up, I switched hosts (from Hosting Matters to Dreamhost). Dreamhost is running PHP v4.44 (and their support seems much more professional, FYI) and fastsearch is working perfectly there, so I don't know if it was PHP v4.4.6 that was the problem or the host screwing something up behind the scenes. Either way we're good.

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 92



PostPosted: May 31, 2007 12:56 PM 

Good, to hear, Kyle. Sorry for missing your earlier comments from a few weeks ago.

For what its worth, I have some site on both dreamhost and hosting matters, and they are both generally pretty with MT, but I haven't tested Fast Search on either of them (yet).

kyle [TypeKey Profile Page]

Posts: 11

Reply: 93



PostPosted: May 31, 2007 11:31 PM 

Thanks for replying Mark. I spoke a bit too soon. Right now I'm getting intermittent results. The fastsearch page always comes up now (no more blank pages) and it works intermittently (I do get results when the search string is passed on), but it is also returning this:

Searched for ""

No pages were found containing "".

when there was definitely text entered. I've recreated files, reuploaded, checked permissions, etc. So something is causing the search string to vanish.

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 94



PostPosted: June 1, 2007 6:21 AM 

Kyle, that is strange. I just tested it on your site, with the same intermittent problem. About 75% of the time it worked fine but the rest had the blank query problem. Seems similar to what Karim described above.

I am not sure what might be causing this. Can you confirm which version of Fast Search your are using? Version of MT (though I doubt it matters in this case)?

kyle [TypeKey Profile Page]

Posts: 11

Reply: 95



PostPosted: June 1, 2007 11:05 AM 

Sure. I am using Fast Search 2.07 with MT3.35. Just in case, PHP v4.44 and MySQL is 5.0.24a. Thanks for looking into it.

kyle [TypeKey Profile Page]

Posts: 11

Reply: 96



PostPosted: June 7, 2007 12:14 PM 

I just noticed Dreamhost updated to PHP 4.4.7. I'm not sure when they did this. I wonder if it relates to when Fast Search started working intermittently.

raul

Posts: 4

Reply: 97



PostPosted: July 4, 2007 7:03 PM 

Suggestion: I've had some problems with malicious spammers and people trying to do DOS attacks and I've noticed a new attack technique is to run scores of searches for the same random string of letters. Might be useful if we had a way to deny multiple searches for the same string in very short intervals especially when they come from the same IP address.

kb

Posts: 1

Reply: 98



PostPosted: July 5, 2007 5:08 AM 

I see it's been mentioned previously, but will it possible in future versions to search fields added through the Extra Fields plugin? I've just set up Fast Search on a new design and made that realization.

I am very happy with the ease of the plugin, but if it can't use it to search the additional fields I have, I'll have to go back to the default cgi search. Sad

Mark Carey [TypeKey Profile Page]

Posts: 150

Reply: 99



PostPosted: July 7, 2007 7:18 AM 

raul, that is a good suggestion, but it might be tough to do. I will give it some thought.

kb, that one is also tough to support, because there are at least 3 different plugins that provide extra fields, and it might be cumbersome to support all three. Perhaps, add-on module could be created for each to support such searches.

lisa

Posts: 3

Reply: 100



PostPosted: July 20, 2007 4:55 PM 

MT 4.0 support?

Michele

Posts: 1

Reply: 101



PostPosted: July 24, 2007 7:25 AM 

Hi.

We are installing FastSearch, and getting selective or partial results. On certain terms, all the entries are returned, but on other terms, FastSearch only displays a handful of the relevant entries, sometimes none.

Any thoughts for why this may be happening?

I've checked to make sure the search term is more than 3 letters and exactly matches the terms in the entry title or body.

Thanks,

Michele

lisa

Posts: 3

Reply: 102



PostPosted: August 4, 2007 2:22 PM 

When I search for one of my tags via the normal search input box with FastSearch the entries with those tags don't show up. Am I doing something wrong or missing something. Clicking on tags to search for entries with that tag works just fine.



Subscribe to this discussion: Email | RSS

Join the conversation:









Remember personal info?





Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very Sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Powered by MTSmileys
Check to Subscribe to this Comment:
(email field must be filled in)



Subscribe Without Commenting
















Creative Commons License
This weblog is licensed under a Creative Commons License.