полнотекстовый поиск рядом не работает - PullRequest
0 голосов
/ 02 февраля 2012

Я использую полнотекстовый индекс для столбца, индекс заполнен (полное заполнение). Текст внутри колонки - это 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

Ответы [ 2 ]

0 голосов
/ 02 февраля 2012

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

Для португальского "melhor", в данном примере "word1", является шумовым словом.Создание пользовательского стоп-листа, удаляющего слова melhor и melhores из шумовых слов, решило проблему.

0 голосов
/ 02 февраля 2012
select * from reviews where ds_review like '%word1 word2%'

% infront слова word1 будет работать как подстановочный знак, делая его _ _word1, где пробел - это что угодно, если после пробела слово совпадает с word1 как префикс.% fix может дать вам результат unix.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...