
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 806 Пользователь №: 17108 На форуме: Карма: 1 ![]() |
Добрый день.
Существует таблица в MsSQL 2008 Структура таблиц представлена на SQLFIDDLE Подскажите как сделать полнотекстовый поиск с учетом морфологии и падежных окончаний в таблице [dbo.Firm] по полям name и name_original? P.S.: желательно пример... P.P.S.: и вообще возможна ли организация такого поиска в данной таблице? |
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: ★ЛжеЭксперт★ ![]() Сообщений: 26774 Пользователь №: 21350 На форуме: Карма: 756 ![]() |
ну наверно с SUBSTRING отрезать 2-3 буквы с конца слова
-------------------- HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
|
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 806 Пользователь №: 17108 На форуме: Карма: 1 ![]() |
любопытно то, что если пользователь ввел в поиск окно ПЕРЕВОЗКА ГРУЗОВ, нужно чтобы в результате были значения с ПЕРЕВОЗКА ГРУЗОВ и ГРУЗОПЕРЕВОЗКА. И вот как это сделать я пока не знаю... P.S.: есть мысль конечно разбить поисковую строку на массив, у каждого элемента обрезать последний символ и поиграть со сложением элементов массива, но это очень сильно нагрузит базу при запросе... |
||
![]() |
|
![]() ![]() Здесь есть добро ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 951 Пользователь №: 23071 На форуме: Карма: 30 Не пью : 29 лет, 9 месяцев, 6 дней ![]() |
Посмотри в сторону готовых библиотек. Тот же Sphinx, например. Это очень нетривиальная задача, морфологический поиск.
-------------------- |
![]() |
|
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1867 Пользователь №: 20757 На форуме: Карма: 197 ![]() |
Strannik, а в чем проблема? MsSql 2008 вроде как поддерживает русскую морфологию. Проблема с конкретным запросом?
|
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: ★ЛжеЭксперт★ ![]() Сообщений: 26774 Пользователь №: 21350 На форуме: Карма: 756 ![]() |
сделай поле для тегов - заноси синонимы
-------------------- HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
|
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 806 Пользователь №: 17108 На форуме: Карма: 1 ![]() |
он то поддерживает, только вот как реализовать(не могу пока разобраться)? |
||
![]() |
|||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 806 Пользователь №: 17108 На форуме: Карма: 1 ![]() |
Автоматически или как? можно подробнее? |
||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: ★ЛжеЭксперт★ ![]() Сообщений: 26774 Пользователь №: 21350 На форуме: Карма: 756 ![]() |
непредсказуемый танец с бубном
-------------------- HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
|
![]() |
۩
Дата
|
||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 806 Пользователь №: 17108 На форуме: Карма: 1 ![]() |
ну почему же? обрезаем последний элемент, в данном случае букву и пляшем под условие что в строке должны присутствовать все элементы массива. это даже не костыль, а ампутация топором, но пока ничего лучше не придумал. P.S.: даже нужно два символа обрезать, не все падежи учел... |
||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: ★ЛжеЭксперт★ ![]() Сообщений: 26774 Пользователь №: 21350 На форуме: Карма: 756 ![]() |
вот фраза
быстрый цикл - чё отрежешь? инь янь - что отрежешь? -------------------- HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
|
![]() |
۩
Дата
|
||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 806 Пользователь №: 17108 На форуме: Карма: 1 ![]() |
добавим проверку на последние два символа, если они равны ов, ив и т.п.(гласная и согласная) убираем два последних символа, если или одна гласная на конце, убираем один символ. примерно так, условий дописать только под каждый случай... P.S.: получаем: быстрый цикл - быстр цикл |
||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: ★ЛжеЭксперт★ ![]() Сообщений: 26774 Пользователь №: 21350 На форуме: Карма: 756 ![]() |
глянь - ???
варианты глянул - глянем и т.д. -------------------- HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
|
![]() |
۩
Дата
|
||
![]() ![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 806 Пользователь №: 17108 На форуме: Карма: 1 ![]() |
глянь - глянь варианты глянул - глянем --- вариант глян - глян //P.S.: единственное, что учет глаголов не обязателен, а так строка выдаст то, что мы ищем, правда теперь вместо 10 строчек на обрезку, получилось 52 //P.P.S.: для пущего извращения, можно еще порядок слов в запросе задать, например чтобы было $find1, затем $find2 и $find3 и только в таком порядке, но это уже по желанию... |
||
![]() |
|
![]() Здесь живет ![]() ![]() ![]() ![]() ![]() ![]() Профиль Журнал Группа: ★ЛжеЭксперт★ ![]() Сообщений: 26774 Пользователь №: 21350 На форуме: Карма: 756 ![]() |
твой поиск будет искать всё и везде)
-------------------- HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
|
![]() |
![]() ![]() ![]() |