Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
DB Engine
SQL ServerMSDESQL Server CE
Services
Analysis (Data Mining)Analysis (OLAP)DTSIntegration ServicesNotification ServicesReporting Services
Programming
CLRConnectivitySQLXML
Other Technologies
ClusteringEnglish QueryFull-Text SearchReplicationService Broker
General
Data WarehousingPerformanceSecuritySetupSQL Server ToolsOther SQL Server Topics
DirectoryUser Groups
Related Topics
MS AccessOther DB ProductsMS Server Products.NET DevelopmentVB DevelopmentJava DevelopmentMore Topics ...

SQL Server Forum / Other Technologies / Full-Text Search / March 2007

Tip: Looking for answers? Try searching our database.

Configure FreeTextTable

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Brian Binnerup - 19 Mar 2007 19:43 GMT
Hi,

I am trying to use freetext to return "best match" results from a database
with movie titles, and it gives me a few different results than what I would
like it to.

I should properly mention that I have just looked at freetext in a few days,
so bare with my limited knowledge.

I have a query like this:

SELECT TOP 10 tblTitles.nvcTitle FROM tblTitles,
FREETEXTTABLE (tblTitles, nvcTitle, 'Big Mommas House') AS KEY_TBL
WHERE
tblTitles.guid = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK DESC

And the query works, I am just not happy with the result, properly because
the word "Big" gives a higher rank when it's located in the string more than
once, the results I get is the following (ordered):

1. Dragnet (1951/ Digiview Entertainment), Vol. 3: The Big Crime / The Big
Shoplift / The Big Girl
2. World's Famous Detectives, Vol. 2: Dragnet: Big Crime / Big Pair / Big
Producer / Big Break / Big September Man / ...
3. Big Momma's House (Widescreen)
4. Bear In The Big Blue House: Storytelling With Bear
5. Big Momma's House 2
6. Big Momma's House
7. Bear In The Big Blue House: Sense-Sational!
8. Bear In The Big Blue House: Tidy Time With Bear
9. Big Momma's House
10. Bear In The Big Blue House: Sleepy Time With Bear And Friends
(Columbia/Tri-Star)

Notice that instead of finding "Big Momma's House" title(s), it ranks two
other titles higher because the word "Big" is in there many times. Next, it
ranks "Big Momma's House 2" higher than "Big Momma's House" although I would
say the first title should be more accurate.

Can I in any way configure my freetext to only rank a word once, and perhaps
re-configure something to improve it for my purpose, or is the freetext
engine fixed to it's default ranking method?

Regards,

Brian Binnerup
Hilary Cotter - 19 Mar 2007 19:54 GMT
No, there is no way supported to currently do this. The feature you are
looking for is called hitcount and ships with other Microsoft Search
products.

I would try containstable as it is a more stricter match.

Signature

Hilary Cotter

Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html

Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com

> Hi,
>
[quoted text clipped - 43 lines]
>
> Brian Binnerup
Brian Binnerup - 19 Mar 2007 22:05 GMT
Hi Hilary,

Thank you for the quick reply.

It's unfortunate that this can't be done.

But, the containstable seem to allow only single word searches? I here have
multiple.

Would you split them up in some way then?

Regards,

Brian

> No, there is no way supported to currently do this. The feature you are
> looking for is called hitcount and ships with other Microsoft Search
[quoted text clipped - 49 lines]
>>
>> Brian Binnerup
Brian Binnerup - 19 Mar 2007 22:19 GMT
I tried to construct the following:

SELECT TOP 10 tblTitles.nvcTitle, KEY_TBL.RANK FROM tblTitles,
CONTAINSTABLE (tblTitles, *, 'ISABOUT(Big WEIGHT (.9), Mommas WEIGHT (.8),
House WEIGHT (.7))') AS KEY_TBL
WHERE
tblTitles.guid = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK DESC

But, it suffers from the same problem:

1. Dragnet (1951/ Digiview Entertainment), Vol. 3: The Big Crime / The Big
Shoplift / The Big Girl 313
2. Big Momma's House 261

Again, the title with three "Big" words is listed first.

Can I in any way get it to only count a word once?

Regards,

Brian

> No, there is no way supported to currently do this. The feature you are
> looking for is called hitcount and ships with other Microsoft Search
[quoted text clipped - 49 lines]
>>
>> Brian Binnerup
Hilary Cotter - 20 Mar 2007 00:56 GMT
Wrap your search phrase in double quotes. IE

SELECT TOP 10 tblTitles.nvcTitle, KEY_TBL.RANK FROM tblTitles,
CONTAINSTABLE (tblTitles, *, ' "Big momma''s house" ') AS KEY_TBL
WHERE
tblTitles.guid = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK DESC

Signature

Hilary Cotter

Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html

Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com

>I tried to construct the following:
>
[quoted text clipped - 72 lines]
>>>
>>> Brian Binnerup
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.