Showing posts with label noise. Show all posts
Showing posts with label noise. Show all posts

Friday, February 24, 2012

CONTAINS finds noise word in one table but not in another

Hi,
I am running
Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005
23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Developer
Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
on Windows 2000 Server.
I have created a full text index that contains 2 tables. The index
is fully populated. The noise.enu file contains the letter 'C'
I run the following query on the first table:
select JobID, JobDescription from JobsTable
where contains(JobDescription,'C++')
I get a full result set. Good! The field "JobDescription" is
of type "text"
Now I do a similar query on the other table:
select JobTitleID from JobTitlesEmployer
where contains(NameVariants,'C++')
I get the error
"A clause of the query contained only ignored words".
The field "NameVariants" is of type "varchar(4000)"
What do I do wrong?
Please help!
THANKS
Hen
I am unable to repro your problem on an identical environment.
Can you verify that you are using the same word breaker for both
tables/columns?
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
"Hen" <hseip@.theconsultantsnetwork.com> wrote in message
news:1122908464.727065.248230@.g49g2000cwa.googlegr oups.com...
> Hi,
> I am running
> Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005
> 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Developer
> Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
> on Windows 2000 Server.
> I have created a full text index that contains 2 tables. The index
> is fully populated. The noise.enu file contains the letter 'C'
> I run the following query on the first table:
> select JobID, JobDescription from JobsTable
> where contains(JobDescription,'C++')
> I get a full result set. Good! The field "JobDescription" is
> of type "text"
>
> Now I do a similar query on the other table:
> select JobTitleID from JobTitlesEmployer
> where contains(NameVariants,'C++')
> I get the error
> "A clause of the query contained only ignored words".
> The field "NameVariants" is of type "varchar(4000)"
> What do I do wrong?
> Please help!
> THANKS
> Hen
>
|||Hillary,
[vbcol=seagreen]
How do I do that?
I did not know that you can have a word breaker config
by table? How do I configure the word breaker
by table?
Please let me know.
Thanks
Hen
|||Hen,
First of all, thanks for providing the @.@.version info as there are
differences between the Win2K and Win2003 OS-supplied wordbreakers (see for
details). Meanwhile, you can use sp_help_fulltext_columns to get the
"Language for Word Breaker" (Language ID or LCID) for each FT-enabled
column. However, the below SQL code provides the most info on your
environment!
use <your_database_name_here>
go
SELECT @.@.language
SELECT @.@.version
exec sp_configure 'default full-text language'
EXEC sp_help_fulltext_catalogs
EXEC sp_help_fulltext_tables
EXEC sp_help_fulltext_columns
EXEC sp_help <your_FT-enable_table_name_here>
go
Regards,
John
SQL Full Text Search Blog
http://spaces.msn.com/members/jtkane/
"Hen" <hseip@.theconsultantsnetwork.com> wrote in message
news:1122912985.162041.216660@.g44g2000cwa.googlegr oups.com...
> Hillary,
>
> How do I do that?
>
> I did not know that you can have a word breaker config
> by table? How do I configure the word breaker
> by table?
> Please let me know.
> Thanks
> Hen
>