Перепутанный, использовать ли FREETEXTTABLE или CONTAINSTABLE

У меня были проблемы с JavaMail (он не может разобрать некоторые сообщения электронной почты, которые он должен).

У меня были намного лучшие результаты с Mime4J .

17
задан David 6 November 2009 в 23:34
поделиться

1 ответ

Я думаю, что FREETEXT - это то, что вы ищете.

Вот хорошее сравнение двух вариантов:

http://www.sitepoint.com/blogs/2006/12/06/sql-server-full-text-search-protips-part-2 -contains-vs-freetext /

Если вы используете CONTAINS, WHERE оказывается сложным, поэтому вы не можете напрямую передать то, что ваши пользователи ввели в вашу форму поиска:

WHERE CONTAINS(notes, 'FORMSOF(INFLECTIONAL, recipe) or FORMSOF(INFLECTIONAL, cuisine)') 

Но если вы используете FREETEXT, вы прямо укажите «форму поиска» в where:

WHERE FREETEXT(notes, 'recipe for cake sugar') 

Я бы сказал, что CONTAINS полезен, если вы хотите искать что-то там, где ваша программа создает запрос, потому что это гораздо более мощно и у вас больше контроля. С другой стороны, FREETEXT полезен, когда вы хотите выполнить запрос "в стиле Google", который ваш пользователь указывает простым синтаксисом (просто словами), что искать.

19
ответ дан 30 November 2019 в 12:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: