Gossamer Forum
Home : Products : Gossamer Links : Discussions :

Missing Links - Odd Problems

Quote Reply
Missing Links - Odd Problems
Newly installed LinkSQL consisting currently of about 28000 links imported from DMOZ....

An odd thing, search results on some keywords known to be present in URLs, Titles, and Descriptions lead to some inconsistent results.... some keywords, known to be present, such as "security" lead to many results..

Other keywords, also known to be present, such as "loss prevention" lead to "no matching results"...

Couple things I've done since scanning the forum for ideas:
- Resynced Links.def & Category.def
- Repair Tables
- Rebuild Search
- Ensure that url, title, and description have search weights

So I'm at a standstill - any ideas? Did I miss something somewhere?


Quote Reply
Re: Missing Links - Odd Problems In reply to
There were some changes in the search through 1.x til now, so I'm not sure exactly what should be returned.

But, when you search for "loss prevention" are you using an "and" search, or an "or" search? Some of the terminology in the templates is inconsistent and confusing.

From the new default templates:

<input type="RADIO" name="bool" value="and" CHECKED> Results must contain all words </font>
<input type="RADIO" name="bool" value="or"> Results can contain any of the words </font>

This is a simple "bool=and" or "bool=or" passed in value.

The following, is really confusing:

<input type="RADIO" name="substring" value="1"> Find similar words
<input type="RADIO" name="substring" value=0 CHECKED> Find exact words

All this is is a substring search: Examples:

substring=1: query="dog" will match - "doghouse", "dogs", "dog", "dog-lovers" (because of the "dog"), etc.
substring=0: query="dog" will match - " dog " (ie: the word "dog" surrounded by 'whitespace').

_NONE_ of the searches will match "devildogs" or "hotdog".
"pugdogs doghouse" will not be matched in an "and" search, but would match an "or" search, unless full-text (non-indexed search) was used.

The reason, is that on an indexed search, you search from the start of the word, not on internal order. You need to use a full-text search for that.

"substring" is translated into the "ww" (wholeword") parameter internally, and the logical values are reversed,
such that substring=0 is equal to ww=1, but it's still matched as "query%", not as "%query%".

Unless you have fulltext searching on, a "phrase" such as "loss prevention" is never searched for. What _is_
searched for, with the indexed search, is the word "loss" (either exact or substring) with the same record
containing "prevention" following it in the same record.

So, without having access to your database, and seeing what the return values are, it's hard to say what
is going on, but hopefully the above gives you some more information in dealing with it.

PUGDOGŪ Enterprises, Inc.