Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Полнотекстовый поиск с учетом морфологии, Как сделать?
Strannik  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 8 лет, 2 месяца, 12 дней
Карма: 0




Добрый день.

Существует таблица в MsSQL 2008

Структура таблиц представлена на SQLFIDDLE

Подскажите как сделать полнотекстовый поиск с учетом морфологии и падежных окончаний в таблице [dbo.Firm] по полям name и name_original?

P.S.: желательно пример...

P.P.S.: и вообще возможна ли организация такого поиска в данной таблице?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26371
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




ну наверно с SUBSTRING отрезать 2-3 буквы с конца слова


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 8 лет, 2 месяца, 12 дней
Карма: 0




Цитата (Игорь_Vasinsky @ 29.10.2013 - 07:11)
ну наверно с SUBSTRING отрезать 2-3 буквы с конца слова

любопытно то, что если пользователь ввел в поиск окно ПЕРЕВОЗКА ГРУЗОВ, нужно чтобы в результате были значения с ПЕРЕВОЗКА ГРУЗОВ и ГРУЗОПЕРЕВОЗКА.

И вот как это сделать я пока не знаю...

P.S.: есть мысль конечно разбить поисковую строку на массив, у каждого элемента обрезать последний символ и поиграть со сложением элементов массива, но это очень сильно нагрузит базу при запросе...
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AlmazDelDiablo  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь есть добро
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 951
Пользователь №: 23071
На форуме: 6 лет, 10 месяцев, 9 дней
Карма: 30

Не пью :
21 год, 11 месяцев, 10 дней


Посмотри в сторону готовых библиотек. Тот же Sphinx, например. Это очень нетривиальная задача, морфологический поиск.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1784
Пользователь №: 20757
На форуме: 7 лет, 3 месяца, 22 дня
Карма: 186




Strannik, а в чем проблема? MsSql 2008 вроде как поддерживает русскую морфологию. Проблема с конкретным запросом?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26371
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




сделай поле для тегов - заноси синонимы


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 8 лет, 2 месяца, 12 дней
Карма: 0




Цитата (kaww @ 29.10.2013 - 07:37)
Strannik, а в чем проблема? MsSql 2008 вроде как поддерживает русскую морфологию. Проблема с конкретным запросом?

он то поддерживает, только вот как реализовать(не могу пока разобраться)?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 8 лет, 2 месяца, 12 дней
Карма: 0




Цитата (Игорь_Vasinsky @ 29.10.2013 - 07:37)
сделай поле для тегов - заноси синонимы

Автоматически или как? можно подробнее?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26371
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




непредсказуемый танец с бубном


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 8 лет, 2 месяца, 12 дней
Карма: 0




Цитата (Игорь_Vasinsky @ 29.10.2013 - 08:37)
непредсказуемый танец с бубном

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

P.S.: даже нужно два символа обрезать, не все падежи учел...
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26371
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




вот фраза

быстрый цикл - чё отрежешь?
инь янь - что отрежешь?


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 8 лет, 2 месяца, 12 дней
Карма: 0




Цитата (Игорь_Vasinsky @ 29.10.2013 - 09:41)
вот фраза

быстрый цикл - чё отрежешь?
инь янь - что отрежешь?

добавим проверку на последние два символа, если они равны ов, ив и т.п.(гласная и согласная) убираем два последних символа, если или одна гласная на конце, убираем один символ.

примерно так, условий дописать только под каждый случай...

P.S.: получаем:

быстрый цикл - быстр цикл

инь янь - инь янь
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26371
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




глянь - ???

варианты глянул - глянем и т.д.


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Strannik  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 806
Пользователь №: 17108
На форуме: 8 лет, 2 месяца, 12 дней
Карма: 0




Цитата (Игорь_Vasinsky @ 29.10.2013 - 10:00)
глянь - ???

варианты глянул - глянем и т.д.

глянь - глянь

варианты глянул - глянем --- вариант глян - глян

//P.S.: единственное, что учет глаголов не обязателен, а так строка выдаст то, что мы ищем, правда теперь вместо 10 строчек на обрезку, получилось 52

//P.P.S.: для пущего извращения, можно еще порядок слов в запросе задать, например чтобы было $find1, затем $find2 и $find3 и только в таком порядке, но это уже по желанию...
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26371
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




твой поиск будет искать всё и везде)


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса