2015-10-27 7 views
2

У меня есть база данных около 10 000 записей. Каждая запись имеет текст по 40 страниц каждый. Мне нужно реализовать полнотекстовый поиск в моей базе данных, так как запрос занимает много времени. Я создал индекс, following these instructions и попытался выполнить поиск с использованием полнотекстового поиска. Хотя он увеличил скорость показа результатов. Но я не могу искать фразы в своей таблице.sql полный текстовый поиск не поиск точной фразы

Я использую следующий запрос для моего точного поиска фразы

select * from ptcsoftcitation 
WHERE CONTAINS(Judgment,'"said contention raised by the counsel"'); 

Это дает все те результаты, которые содержат все слова, а не точной фразы. Он ведет себя как 'сказал "и "утверждение" и "поднял" и "адвокат"'

Пожалуйста, помогите мне ..

+0

Похоже, вопрос с игнорируемых слов (общие слова "от" и "", которые удалены из индекса по умолчанию), хотя я не могу воспроизвести эту точную проблему. Можете ли вы предоставить язык, используемый в вашем полном текстовом индексе, полное предложение, содержащее «указанное утверждение, поднятое адвокатом», и вашу версию SQL Server? – Keith

+0

Чтобы быть ясным, я имею в виду язык * настройки *, используемый в вашем полном текстовом индексе. – Keith

ответ

0

Предположим, у меня есть 3 записи:

bc 
abc 
bcd 
  • Поиск а именно:

      = 'bc' will return bc 
    
  • Поиск тесно:

      LIKE 'bc' will return bc 
    
  • Поиск содержит:

      LIKE '%bc' will return bc and abc 
          LIKE 'bc%' will return bc and bcd 
          LIKE '%bc%' will return bc, abc and bcd 
    

Я думаю, что ваш код должен:

SELECT * FROM ptcsoftcitation 
WHERE Judgment LIKE '%said contention raised by the counsel%' 
+1

Речь идет о 'полнотекстовом поиске', который отличается от' LIKE'. –

+0

Вы можете использовать 'LIKE' для поиска полнотекстового текста –

+1

Вы можете, но только в том случае, если таблица маленькая или у ваших пользователей есть десятки минут, чтобы дождаться результата. –

Смежные вопросы