2012-02-02 6 views
0

Я использую полный текстовый индекс над столбцом, индекс заполняется (полная численность). Текст внутри столбца - это varchar (max) португальские отзывы.полнотекстовый поиск рядом не работает

Я думаю, что все запросы должны возвращать то же самое, но они не так:

select 
     * 
    from reviews 
    where 
     contains (ds_review, 'word1 NEAR word2') 

    (returns 0 rows) 

    select 
     * 
    from reviews 
    where 
     ds_review like '%word1 word2%' 

    (returns 1 row) 

    select 
     * 
    from reviews 
    where 
     contains (ds_review, ' word1 and word2 ') 

    (returns 0 row) 

    row: 
    word1 word2 
+0

Как выглядят 10 результатов? Я бы ожидал, что второй будет соответствовать 'someprefixword1 word2', но не первый, чтобы сделать это, например, –

+0

вы можете это объяснить? –

+0

вы можете ответить на мой вопрос? Я не собираюсь объяснять это, если это не применимо. –

ответ

0

Я нашел проблему:

португальских, "Melhor", в данном примере "word1", это шум слово. Создание пользовательского стоп-листа с удалением «melhor» и «melhores» из шумовых слов решило проблему.

0
select * from reviews where ds_review like '%word1 word2%' 

% Infront из word1 бы работает как групповой символ, что делает его _ _word1 где заготовка ничего до тех пор, так как после пробела слово совпадает со словом1, как префикс. % fix может дать вам результат нефиксировать.

для получения дополнительной информации, вы можете посетить здесь http://www.w3schools.com/sql/default.asp

+0

Я знаю, как работает шаблон%. –

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