<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Better Search</title>
	<atom:link href="http://ajaydsouza.com/wordpress/plugins/better-search/feed/" rel="self" type="application/rss+xml" />
	<link>http://ajaydsouza.com</link>
	<description>Blogging, WordPress, Work and Life</description>
	<lastBuildDate>Thu, 24 May 2012 09:47:46 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Vform</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-51919</link>
		<dc:creator>Vform</dc:creator>
		<pubDate>Sun, 08 Apr 2012 20:21:07 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-51919</guid>
		<description>1. Templating is nice but I&#039;m almost completely sure people would find your plugin much much more useful if it&#039;d just &quot;replace&quot; the default search with the advantage of better results but without the need to change a template. The other fulltext plugin does it somehow (I think with the wordpress function &quot;add_filter&quot;), but it&#039;s no more maintained and officially not supporting the current wordpress version. I don&#039;t know anything about writing wordpress plugins, but maybe this old plugin could give some clues...?

2. Yes, weighting titles higher than content makes sense. There was something missing from my post, so that part didn&#039;t make much sense. See next point...

3. Adding Boolean search is pretty simple. Only still using weighting is a little bit tricky. And for some reason I only posted part of it and messed the example for ft_min_word_len in my comment. Should have been like that:
&gt;&gt;&gt;
Boolean searching has two deficiencies: 1) results are not sorted by relevance and; 2) no method by which to weigh certain columns. There is a way around both of these problems. For example, if I have a table of articles and want to weigh the title more heavily than the text, I can do the following:

S ELECT *, ( (1.3 * (MATCH(title) AGAINST (&#039;+term +term2&#039; IN BOOLEAN MODE))) + (0.6 * (MATCH(text) AGAINST (&#039;+term +term2&#039; IN BOOLEAN MODE))) ) AS relevance FROM [table_name] WHERE ( MATCH(title,text) AGAINST (&#039;+term +term2&#039; IN BOOLEAN MODE) ) HAVING relevance &gt; 0 ORDER BY relevance DESC;

Here we artificially manipulate the relevancy score to give title more weight by multiplying by the constant 1.3. In the above query, it doesn&#039;t seem to matter whether I have 3 fulltext indexes or just one comprising the title and text columns. From my testing, the results appear to be the same.
&lt;&lt;&lt;

4. The minimum length defines how short a word may be to be used for fulltext search. MySQL default is 4 characters, but you can change it. It&#039;s the option ft_min_word_len in the MySQL config; you can easily get the setting with php using mysql_query(“show variables LIKE ‘ft_min_word_len’”). A fulltext search for &quot;Windows xp&quot; would ignore &quot;xp&quot; because it is less than 4 characters. I guess you can see why it might be useful to allow mysql to search for short words.

5. Stopwords are words that should be ignored in a query. Every language has words that don&#039;t really count for relevance. For the english language a (possible) list is here: http://www.textfixer.com/resources/common-english-words.txt. The easiest thing is to remove those word in php (it&#039;s also possible to give MySQL a stoppword list, but that requires direct access to these options). Assuming there was no minimal word length a query like &quot;the search for a meaning&quot; would find every post that has a &quot;the&quot;, a &quot;for&quot; and an &quot;a&quot;, besides the really meaningful words &quot;search&quot; and &quot;meaning&quot;. Umm, hope this explanation isn&#039;t too gibberish.</description>
		<content:encoded><![CDATA[<p>1. Templating is nice but I&#8217;m almost completely sure people would find your plugin much much more useful if it&#8217;d just &#8220;replace&#8221; the default search with the advantage of better results but without the need to change a template. The other fulltext plugin does it somehow (I think with the wordpress function &#8220;add_filter&#8221;), but it&#8217;s no more maintained and officially not supporting the current wordpress version. I don&#8217;t know anything about writing wordpress plugins, but maybe this old plugin could give some clues&#8230;?</p>
<p>2. Yes, weighting titles higher than content makes sense. There was something missing from my post, so that part didn&#8217;t make much sense. See next point&#8230;</p>
<p>3. Adding Boolean search is pretty simple. Only still using weighting is a little bit tricky. And for some reason I only posted part of it and messed the example for ft_min_word_len in my comment. Should have been like that:<br />
&gt;&gt;&gt;<br />
Boolean searching has two deficiencies: 1) results are not sorted by relevance and; 2) no method by which to weigh certain columns. There is a way around both of these problems. For example, if I have a table of articles and want to weigh the title more heavily than the text, I can do the following:</p>
<p>S ELECT *, ( (1.3 * (MATCH(title) AGAINST (&#8216;+term +term2&#8242; IN BOOLEAN MODE))) + (0.6 * (MATCH(text) AGAINST (&#8216;+term +term2&#8242; IN BOOLEAN MODE))) ) AS relevance FROM [table_name] WHERE ( MATCH(title,text) AGAINST (&#8216;+term +term2&#8242; IN BOOLEAN MODE) ) HAVING relevance &gt; 0 ORDER BY relevance DESC;</p>
<p>Here we artificially manipulate the relevancy score to give title more weight by multiplying by the constant 1.3. In the above query, it doesn&#8217;t seem to matter whether I have 3 fulltext indexes or just one comprising the title and text columns. From my testing, the results appear to be the same.<br />
&lt;&lt;&lt;</p>
<p>4. The minimum length defines how short a word may be to be used for fulltext search. MySQL default is 4 characters, but you can change it. It&#039;s the option ft_min_word_len in the MySQL config; you can easily get the setting with php using mysql_query(“show variables LIKE ‘ft_min_word_len’”). A fulltext search for &quot;Windows xp&quot; would ignore &quot;xp&quot; because it is less than 4 characters. I guess you can see why it might be useful to allow mysql to search for short words.</p>
<p>5. Stopwords are words that should be ignored in a query. Every language has words that don&#039;t really count for relevance. For the english language a (possible) list is here: <a href="http://www.textfixer.com/resources/common-english-words.txt" rel="nofollow">http://www.textfixer.com/resources/common-english-words.txt</a>. The easiest thing is to remove those word in php (it&#039;s also possible to give MySQL a stoppword list, but that requires direct access to these options). Assuming there was no minimal word length a query like &quot;the search for a meaning&quot; would find every post that has a &quot;the&quot;, a &quot;for&quot; and an &quot;a&quot;, besides the really meaningful words &quot;search&quot; and &quot;meaning&quot;. Umm, hope this explanation isn&#039;t too gibberish.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ajay</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-51874</link>
		<dc:creator>Ajay</dc:creator>
		<pubDate>Sun, 08 Apr 2012 18:05:17 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-51874</guid>
		<description>By above query, do you mean the one by the plugin? I have noticed in my testing that the constant needs to be significantly higher because since titles usually have lesser content, the default weight of titles are much higher than the content.

I have been debating adding in Boolean Search support. It&#039;s most likely to be in a future version of the plugin.

One thing that I have struggled with is getting better template integration. The issue is that I haven&#039;t figured out a way to manipulate the template as well as maintain the same style of the theme. 
I am considering creating a &quot;default&quot; option that will just manipulate the WordPress query, but give you better customisation on the output if you choose to use the template file.

Am not sure about stop words and minimum length. Do you see this being used often on your site?</description>
		<content:encoded><![CDATA[<p>By above query, do you mean the one by the plugin? I have noticed in my testing that the constant needs to be significantly higher because since titles usually have lesser content, the default weight of titles are much higher than the content.</p>
<p>I have been debating adding in Boolean Search support. It&#8217;s most likely to be in a future version of the plugin.</p>
<p>One thing that I have struggled with is getting better template integration. The issue is that I haven&#8217;t figured out a way to manipulate the template as well as maintain the same style of the theme.<br />
I am considering creating a &#8220;default&#8221; option that will just manipulate the WordPress query, but give you better customisation on the output if you choose to use the template file.</p>
<p>Am not sure about stop words and minimum length. Do you see this being used often on your site?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vform</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-51863</link>
		<dc:creator>Vform</dc:creator>
		<pubDate>Sun, 08 Apr 2012 16:35:37 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-51863</guid>
		<description>Hello,

I like the idea of using the fulltext option very much. Besides your plugin, only one other tried it before: wordpress.org/extend/plugins/spectacula-advanced-search/. In one respect it did it better, because it works with the default search template AND it automatically filters out any result that a certain user should not see. I think it just manipulates the original wordpress query. Reading the comments here, that is a main problem. And for me this are not only private posts, but also post marked by the User Access Manager plugin. So it would be very cool if your - in some respects more advanced - plugin would use this technique too.

Some other things I really would like to see (sorry, I&#039;m so greedy ;))
- Support for Boolean Search (with sorting by relevance; I&#039;ve got a solution I used years ago, see below)
- Support for stopwords (you could use a gettext-string that lists language specific stopwords in a comma separated list and filter them out of the search query); I know you can use the MySQL options for that, but many people don&#039;t have access to that setting
- Check what minimum word length for fulltext queries is set &gt; mysql_query(&quot;show variables LIKE &#039;ft_min_word_len&#039;&quot;)  0 ORDER BY relevance DESC;

Here we artificially manipulate the relevancy score to give title more weight by multiplying by the constant 1.3. In the above query, it doesn&#039;t seem to matter whether I have 3 fulltext indexes or just one comprising the title and text columns. From my testing, the results appear to be the same.
---</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>I like the idea of using the fulltext option very much. Besides your plugin, only one other tried it before: wordpress.org/extend/plugins/spectacula-advanced-search/. In one respect it did it better, because it works with the default search template AND it automatically filters out any result that a certain user should not see. I think it just manipulates the original wordpress query. Reading the comments here, that is a main problem. And for me this are not only private posts, but also post marked by the User Access Manager plugin. So it would be very cool if your &#8211; in some respects more advanced &#8211; plugin would use this technique too.</p>
<p>Some other things I really would like to see (sorry, I&#8217;m so greedy <img src='http://ajaydsouza.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )<br />
- Support for Boolean Search (with sorting by relevance; I&#8217;ve got a solution I used years ago, see below)<br />
- Support for stopwords (you could use a gettext-string that lists language specific stopwords in a comma separated list and filter them out of the search query); I know you can use the MySQL options for that, but many people don&#8217;t have access to that setting<br />
- Check what minimum word length for fulltext queries is set &gt; mysql_query(&#8220;show variables LIKE &#8216;ft_min_word_len&#8217;&#8221;)  0 ORDER BY relevance DESC;</p>
<p>Here we artificially manipulate the relevancy score to give title more weight by multiplying by the constant 1.3. In the above query, it doesn&#8217;t seem to matter whether I have 3 fulltext indexes or just one comprising the title and text columns. From my testing, the results appear to be the same.<br />
&#8212;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dex</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-5767</link>
		<dc:creator>Dex</dc:creator>
		<pubDate>Sat, 13 Jun 2009 13:29:45 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-5767</guid>
		<description>Hello Ajay,
It says i need to add the code  

I don&#039;t know where? Is it at the function.php?</description>
		<content:encoded><![CDATA[<p>Hello Ajay,<br />
It says i need to add the code  </p>
<p>I don&#8217;t know where? Is it at the function.php?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WordPress Plugin Releases for 06/13 &#124; Weblog Tools Collection</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-5764</link>
		<dc:creator>WordPress Plugin Releases for 06/13 &#124; Weblog Tools Collection</dc:creator>
		<pubDate>Fri, 12 Jun 2009 20:30:18 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-5764</guid>
		<description>[...] Better Search [...]</description>
		<content:encoded><![CDATA[<p>[...] Better Search [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Better Search bug-fix release &#124; Ajay - On the Road called Life</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-5761</link>
		<dc:creator>Better Search bug-fix release &#124; Ajay - On the Road called Life</dc:creator>
		<pubDate>Wed, 10 Jun 2009 03:15:40 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-5761</guid>
		<description>[...] Until then, download the latest version of Better Search. [...]</description>
		<content:encoded><![CDATA[<p>[...] Until then, download the latest version of Better Search. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tompa</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-5701</link>
		<dc:creator>Tompa</dc:creator>
		<pubDate>Tue, 19 May 2009 14:55:41 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-5701</guid>
		<description>Thanks for a great plugin.

I have one problem though and that is that I have a &quot;members area&quot; which &quot;hides&quot; some pages for unregistered, using User access manager (http://www.gm-alex.de/projects/wordpress/plugins/user-access-manager/).
The &quot;member&quot; pages comes up in the search results, which is not good.
Is there something I can do to exclude &quot;member pages&quot; in the search results?</description>
		<content:encoded><![CDATA[<p>Thanks for a great plugin.</p>
<p>I have one problem though and that is that I have a &#8220;members area&#8221; which &#8220;hides&#8221; some pages for unregistered, using User access manager (<a href="http://www.gm-alex.de/projects/wordpress/plugins/user-access-manager/" rel="nofollow">http://www.gm-alex.de/projects/wordpress/plugins/user-access-manager/</a>).<br />
The &#8220;member&#8221; pages comes up in the search results, which is not good.<br />
Is there something I can do to exclude &#8220;member pages&#8221; in the search results?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Weblog Tools Collection: WordPress Plugin Releases for 05/05 &#171; Internet Turnkey Websites</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-5678</link>
		<dc:creator>Weblog Tools Collection: WordPress Plugin Releases for 05/05 &#171; Internet Turnkey Websites</dc:creator>
		<pubDate>Thu, 07 May 2009 23:04:42 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-5678</guid>
		<description>[...] Better Search [...]</description>
		<content:encoded><![CDATA[<p>[...] Better Search [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: levani</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-5656</link>
		<dc:creator>levani</dc:creator>
		<pubDate>Thu, 30 Apr 2009 18:33:20 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-5656</guid>
		<description>Can I exclude pages and search posts only?</description>
		<content:encoded><![CDATA[<p>Can I exclude pages and search posts only?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leo Lemos</title>
		<link>http://ajaydsouza.com/wordpress/plugins/better-search/#comment-5576</link>
		<dc:creator>Leo Lemos</dc:creator>
		<pubDate>Tue, 14 Apr 2009 13:48:10 +0000</pubDate>
		<guid isPermaLink="false">http://ajaydsouza.com/?page_id=1645#comment-5576</guid>
		<description>Hi, great plugin! Congrats!

I have a question, how I hide contact form (contact form 7- famous plugin) codes from search results?
Ex: [contact-form 1 &quot;contact&quot;] 

Thanks.</description>
		<content:encoded><![CDATA[<p>Hi, great plugin! Congrats!</p>
<p>I have a question, how I hide contact form (contact form 7- famous plugin) codes from search results?<br />
Ex: [contact-form 1 "contact"] </p>
<p>Thanks.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

