Search for my site
March 16, 2006 12:58 PM   Subscribe

Can you reccommend a solution for searching my own site that does not display ads (therefore, it is not Google)>

Simple, search box on my site that indexes my pages (200 - 300, some dynamic) and allows me to search it. The thing is, I don't want ads so the standard free solutions won't work. We've been using Atomz/Websidestory for years and it works well but the ads are beginning to be a problem.

Past ask.mefi threads have mentioned Perlfect - but I'm not running Perl on my server.

Any other thoughts? State of the market changing?
posted by dhacker to Technology (7 answers total)
 
What about PHPDig?
posted by tomierna at 1:12 PM on March 16, 2006


I see you're running Wordpress? I'm pretty sure that they have a plug-in that adds search. It may even be in the basic. Movable Type has a search feature, it's very customizable.
posted by iconomy at 1:12 PM on March 16, 2006


You haven't given details about your server, so this may be beyond your capabilities, but htdig does the job.
posted by team lowkey at 1:15 PM on March 16, 2006


Here's a Wordpress plug-in site with lots of search plug-ins.
posted by iconomy at 1:16 PM on March 16, 2006


Response by poster: The website I'm writing about is not running WordPress - it's running Coldfusion against a SQL Server backend
posted by dhacker at 1:18 PM on March 16, 2006


I wrote an SQL search thingy for the company. It's not fancy, but it mostly works, at least for our dynamic pages. The keywords being searched for are in the string "$searchterms".

		$sql="select Page_Title,Page_Body,PlainOrHTML,Page_Num from the_database";
		$results = mysql_query($sql);
		$i=0;
		$hits=array();
		$searchterms = explode (" ", $searchterm);
		while ($result = mysql_fetch_array($results)){ =
			$i++;
			$title = $result["Page_Title"];
			$content = $result["Page_Body"];
			$advanced = $result["PlainOrHTML"];
			$hits[$i]["page"] = $result["Page_Num"];
			$hits[$i]["title"] = $title;
			$hits[$i]["score"] = 0;
			$content = str_replace("[","< ,$content);br>
			$content = str_replace("]",">",$content);
			$hits[$i]["summary"] = substr(strip_tags($content),0,100)."...";
			$content = str_replace("< , ,$content);br>
			$content = str_replace(">"," ",$content);
			$content = str_replace(","," ",$content);
			$SearchWords = explode (" ", $content);
			for ($k=0;$k
				if ($title!="" && $searchterms[$k]!=""){
					if (stristr($title,$searchterms[$k])){
						$hits[$i]["score"]++;
					}
				}
			}
			for ($j=0;$j
				for ($k=0;$k
					if (strtoupper($SearchWords[$j])==strtoupper($searchterms[$k])){
						$hits[$i]["score"]++;
					}
				}
			}
		}
 		usort($hits,"score_sort");
 		//build short array
		$hits2=array();
		for ($j=0;$j
			if ($hits[$j]["score"]) {
				$hits2[$j]["score"] = $hits[$j]["score"];
				$hits2[$j]["page"] = $hits[$j]["page"];
				$hits2[$j]["title"] = $hits[$j]["title"];
				$hits2[$j]["summary"] $hits[$j]["summary"];
			}
		} 		

Then I have a page that displays the results...
posted by krisjohn at 4:35 PM on March 16, 2006


Ugh. The preview didn't have all those extra lines.
posted by krisjohn at 4:36 PM on March 16, 2006


« Older help a historian out?   |   How do I import from one database into another? Newer »
This thread is closed to new comments.