March 1, 2006 at 8:06 am
I have record indexed in full-text catalog (Sql Server 2000)
Authors :<von Laer L><Hasler C>
Title: [Spontaneous corrections, growth disorders and post-traumatic deformities ...
With CONTAINS (*,'Spontaneous and corrections') - SQL SERVER returns this record
With CONTAINS (*,'Laer and Hasler' ) - SQL SERVER returns this record
With CONTAINS (*,'Laer and Spontaneous and corrections' ) - SQL SERVER returns no records?
There are 5 columns indexed in this table with ~16,000,000 rows
March 2, 2006 at 1:01 am
Try:
CONTAINS (*,' "Laer" AND "Spontaneous" AND "corrections" ')
Andy
March 2, 2006 at 1:16 am
No, but I have found answer on MSDN
FIX: Full-Text Search Queries with CONTAINS Clause Search Across Columns
...
For example, assume a table called ftstable with three columns: c1 as integer (the index column), and c2 and c3 as varchar columns that are full-text enabled. Also assume that a row contains "apples" in column c2 and "oranges" in columnn c3. In SQL Server 7.0 SP2 and earlier, the following query
select c1 from ftstable where contains(*,'"apples" and "oranges"')
is incorrectly interpreted as follows:
select c1 from ftstable where contains(*,'"apples"') AND contains(*,'"oranges"')
and the row is returned.
NOTE: The correct way to interpret the query is as follows:
select c1 from ftstable where contains(c2,'"apples" and "oranges"') OR contains(c3,'"apples" and "oranges"')
and to not return the row.
...
This problem was first corrected in SQL Server 7.0 Service Pack 3.
And if I rewrite my query to something like
select c1 from ftstable where contains(*,'"Laer"') AND contains(*,'"Spontaneous"') AND contains(*,'"corrections"')
this query has performance problem on table with a 16,000,000 rows.
Viewing 3 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply