That is all.
Search is back.
August 31st, 2006 12:21pm
Oh yeah, and it searches the subject lines now too.
August 31st, 2006 12:32pm
So I am going to search for "Sharfish". Hopefully this time it won't kill the server.
BigJigger is now "The Freshmaker".
August 31st, 2006 12:35pm
And I'll search for Methuelah, and John Haren will search for [y] and...
The boolean full-text search capability supports the following operators:
+ A leading plus sign indicates that this word must be present in each row that is returned.
- A leading minus sign indicates that this word must not be present in any of the rows that are returned.
By default (when neither + nor - is specified) the word is optional, but the rows that contain it are rated higher.
> < These two operators are used to change a word's contribution to the relevance value that is assigned to a row. The > operator increases the contribution and the < operator decreases it.
( ) Parentheses group words into subexpressions. Parenthesized groups can be nested.
~ A leading tilde acts as a negation operator, causing the word's contribution to the row's relevance to be negative. This is useful for marking “noise” words. A row containing such a word is rated lower than others, but is not excluded altogether, as it would be with the - operator.
* The asterisk serves as the truncation (or wildcard) operator. Unlike the other operators, it should be appended to the word to be affected. Words match if they begin with the word preceding the * operator.
" A phrase that is enclosed within double quote (‘"’) characters matches only rows that contain the phrase literally, as it was typed. The full-text engine splits the phrase into words, performs a search in the FULLTEXT index for the words. The engine then performed a substring search for the phrase in the records that were found, so the match must include non-word characters in the phrase.
If the phrase contains no words that are in the index, the result is empty. For example, if all words are either stopwords or shorter than the minimum length of indexed words, the result is empty.
Hopefully a search for "search" will return this thread because I may lose the instruction manual that came with the forum.
Sure, makes perfect sense. I also have a roll of toilet paper in every room of the house. You know, in case I need to wipe myself when I'm in the kitchen.
I want "order by". A search on sharkfish gives me old stuff first.
<I should thank you for your efforts first but since when is CoT civil>
August 31st, 2006 1:26pm
- topics should be listed most recent first
- on the listed topics returned by the search all mouse-overs popup the same message: \br Notice \br Undefined property etc...
"I want "order by". A search on sharkfish gives me old stuff first."
"Order by" was causing all the problems with the search. Now it's ordered by relevance. You get pretty poor results for single-word queries but it's much better if you get more specific.
I'll be adding an advanced search that will let you set date ranges to search by -- that will let you get more recent stuff.
Hmmm, maybe I can show you how I did order by on my forum, but for all I know it has the same problem as yours at a high enough data volume.
August 31st, 2006 1:40pm
Maybe for single-word queries do the order by instead of relevence
Also to help performance do a TOP 100 or something to limit the results...
The order-by requires a "copy to tmp table" operation in the search which slows things down considerably when you have as much data as we have.
The full text search implicitly sorts by relevance.
I tried a bunch of different queries and used EXAMINE to check out the query plans.
Hmmm.. How does FF handle saving form field values? Google's search box is "sf" & "q" for name and id. CoT's search box calls both "query". Yet, ALT+Down lists values entered in both.
This is the message that shows in the topic pop-ups after the search
<b>Notice</b>: Undefined property: Message in <b>/home/jeffb/public_html/search.php</b> on line <b>39</b><br />
DJ, DJ, DJ...
Well we already do TOP 100.. of course, if you order by date then you have get ALL the results, sort them, and then trucate the TOP 100. So you save nothing.
Secondly, the single-word queries return the most results. So sorting by date using queries with the most results gets us back to why the search was removed in the first place.
And do we have to go back to the main page or have a tab open always to search?
August 31st, 2006 1:54pm
The issue is most of the time I want to know the most recent post that mentioned a particular topic usually by using a single-word search.
The way it is implemented now is not going to help me much.
I don't know mysql but there has to be a better way.
"The way it is implemented now is not going to help me much."
"I don't know mysql but there has to be a better way."
Limiting the range will work. So I could have an option that says return the results from the last 5 days, month, etc. The results will be limited to that range but still sorted by relevance.
Did you do anything special or just hack use the MySQL fulltext search again.
August 31st, 2006 7:13pm