[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: поиск с учетом окончаний
pavel
Собственно хочется реализовать у себя поиск так, чтобы введенное слово искалось во все словоформах.
Т.е. по сути, как мне видится, на входе - одно слово, на выходе - несколько слов образованных из исходного с разными окончаниями.

Встречали ли вы готовые решения?



Спустя 3 дня, 3 часа, 22 минуты, 10 секунд (23.07.2007 - 14:28) cage написал(а):
по-моему решение можно и самому найти,дя этого в LIKE нужно поставить соответствующее слово,т.е. самому его ,так сказать,обрезать

Спустя 18 часов, 35 минут, 51 секунда (24.07.2007 - 09:04) Alecs написал(а):
Цитата(cage @ 23.7.2007, 11:28) [snapback]25122[/snapback]
по-моему решение можно и самому найти,дя этого в LIKE нужно поставить соответствующее слово,т.е. самому его ,так сказать,обрезать


Не все так просто. Например при поиске, по вашему методу, производных слова "дело" (корень - "дел" ), будут найдены слова дела, деловой, модель, сарделька, ну и т.д.
Вообще задача достаточно сложна и требует привлечения лингвистов и математиков.
ИМХО: средствами PHP приемлемого результата добится не удастся.

Спустя 1 час, 22 минуты, 44 секунды (24.07.2007 - 10:27) zaxar написал(а):
Можно попробовать пойти другим путем:

http://php.net/similar_text

Спустя 29 минут (24.07.2007 - 10:56) cage написал(а):
во-первых,я предлагаю обрезать только с конца,чтобы не возникало несуразицы,а во-вторых более длинную последовательность букв

Спустя 21 час, 19 минут, 27 секунд (25.07.2007 - 08:15) Alecs написал(а):
Цитата(cage @ 24.7.2007, 7:56) [snapback]25153[/snapback]
во-первых,я предлагаю обрезать только с конца,чтобы не возникало несуразицы,а во-вторых более длинную последовательность букв


Хм! А как быть с короткими словами? Их, между прочим, совсем не мало. Возмем слово "мода" ( поисковая модель - 'мод%'). В результат вывалятся такие слова: модник, модель, модератор ...

Спустя 1 час, 10 минут, 17 секунд (25.07.2007 - 09:26) pavel написал(а):
Нарыл поисковые движки типа таких
http://www.internet-technologies.ru/scripts/category_17.html
Надо попробовать, возможно с их помощью чего нибудь удасться добиться.

А вообще я так думаю нужен бооольшой словарь слов с различными формами их употребления (типа того что есть в word-е) и все. Только где бы его надыбать....?

Спустя 1 час, 1 минута, 44 секунды (25.07.2007 - 10:27) Alecs написал(а):
Цитата(pavel @ 25.7.2007, 6:26) [snapback]25184[/snapback]
А вообще я так думаю нужен бооольшой словарь слов с различными формами их употребления (типа того что есть в word-е) и все. Только где бы его надыбать....?


Тупиковый путь. Что ты будеш делать с этим словарем? Копай в сторону объектной модели. Сделай класс "slovo", пропиши в нем правила языка, сделай методы для их применения.
Несколько лет назад я сделал нечто подобное на вейжалбейсике. Работало. Более менее. Но быстродействие ...
Короче если писать что либо подобное, то на си с плюсами.

Спустя 2 часа, 30 минут, 2 секунды (25.07.2007 - 12:57) pavel написал(а):
Цитата(Alecs @ 25.7.2007, 11:27) [snapback]25193[/snapback]
Тупиковый путь. Что ты будеш делать с этим словарем? Копай в сторону объектной модели.

Например в словаре есть слово "поиск" и все кго формы поиска, поиску и т.п.
Если пользователь ищет слово "поиска" то в like условия мускула подставляются все остальные. Правда это действует только если слово одно...

Спустя 1 час, 5 минут, 32 секунды (25.07.2007 - 14:03) cage написал(а):
Цитата(Alecs @ 25.7.2007, 6:15) [snapback]25182[/snapback]
Цитата(cage @ 24.7.2007, 7:56) [snapback]25153[/snapback]
во-первых,я предлагаю обрезать только с конца,чтобы не возникало несуразицы,а во-вторых более длинную последовательность букв


Хм! А как быть с короткими словами? Их, между прочим, совсем не мало. Возмем слово "мода" ( поисковая модель - 'мод%'). В результат вывалятся такие слова: модник, модель, модератор ...

а короткие слова предлагаю вообще не обрезать,хотя конечно правильнее всего работать со словарем,все равно с РНР добиться большего ну невозможно,возможно лишь добиться некоторого определенного эффекта(возможности не те)


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.