sqlserver 2000 full text search

  • 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

  • Try:

    CONTAINS (*,' "Laer" AND "Spontaneous" AND "corrections" ')

    Andy

  • 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