powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Исключение слов из строки поискового запроса
12 сообщений из 12, страница 1 из 1
[PHP] Исключение слов из строки поискового запроса
    #38042951
Доброго времени суток.
У меня возможно и тривиальный вопрос, но в силу своей неосведомленности, не знаю как его решить. Помогите, пожалуйста. Если данная проблема уже ранее решалась на этом форуме, то заранее извиняюсь.

И так, по делу.

Имеется запрос, в котором ищется совпадение введенного слова или слов с данными в таблице.
Необходимо, чтобы из введенного слова или слов удалялись определенные слова, если таковы имеются в нем, и только после этого производился поиск по таблице с данными. Как и с помощью чего это можно осуществить?
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38042955
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как понимаю, требуется применить некий фильтр. Проще всего банальная замена подстроки в цикле по словарю "неугодных" слов, но насколько это приемлемо к Вашей задаче - это Вам виднее. Для точного соответствия оно еще куда ни шло, но в реале окажется скорее всего гораздо сложней. Возможно, более правильным будет разбить входную фразу в массив, сохранив в каждый элемент по одному слову. Затем поэлементно проверить массив на соответствие различным словоформам и удалить ненужные. Из оставшегося собрать условие отбора.

Или Вы хотите эту задачу решить исключительно средствами MySQL? Сомневаюсь, но, если хотите, могу перенести топик в профильный форум.
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38042967
vkleКак понимаю, требуется применить некий фильтр. Проще всего банальная замена подстроки в цикле по словарю "неугодных" слов, но насколько это приемлемо к Вашей задаче - это Вам виднее. Для точного соответствия оно еще куда ни шло, но в реале окажется скорее всего гораздо сложней. Возможно, более правильным будет разбить входную фразу в массив, сохранив в каждый элемент по одному слову. Затем поэлементно проверить массив на соответствие различным словоформам и удалить ненужные. Из оставшегося собрать условие отбора.

Суть такая, скажем ввожу в поиск фразу "проверка текст", в скрипте слово "текст" записано в исключения и следовательно введенная фраза обрабатывается и остается только "проверка" и уже по этому слову начинается поиск по таблице.

На практике имею следующие, имеются несколько таблиц где записаны адреса улиц, но записаны по разному, т.е. в одной прописано например "Невский", в другой "Невский пр.", в третий "Невский пр-т". И адресов в каждой таблице по 6-8 тыс. Хоть и поиск задан через неточные совпадения (%...%), но скажем, если человек введет "Невский проспект", то ему следовательно ничего не выдаст, по-этому у меня и появилась задача исключить самые частые дополнения плана (пр-т, проспект, пр. и тому подобное) перед самим поиском, чтобы по таблицам он искал "Невский".
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38042969
vkleИли Вы хотите эту задачу решить исключительно средствами MySQL?
Не хотелось бы туда влезать, но если выбора нет, то... =)
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38042973
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин Игорь,

В той программе, которая производит генерацию SQL-запросов и из отправку на выполнение в MySQL, вставьте замену ненужных подстрок на пустые подстроки. Если покажете этот фрагмент кода, то, возможно, кто-нибудь даже посоветует что-то более детальное.
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38043007
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Минин ИгорьvkleИли Вы хотите эту задачу решить исключительно средствами MySQL?
Не хотелось бы туда влезать, но если выбора нет, то... =)Вы так озаглавили тему обсуждения

О каком языке программирования идет речь?
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38043096
vkleВы так озаглавили тему обсуждения

О каком языке программирования идет речь?

Ну это моя ошибка, не так назвал тему. В общем идет речь о PHP. Можно ли используя его обработать таким способом вводимые данные, о чем говорил в предыдущем сообщении.
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38043100
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вполне возможно. Начиная от простейшего str_replace.
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38043106
Спасибо, что изменили название темы.

vkleВполне возможно. Начиная от простейшего str_replace.

А можно с помощью этой функции заменить несколько значений на пустые?
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38043116
Минин ИгорьА можно с помощью этой функции заменить несколько значений на пустые?

Все понял, нашел, спасибо за помощь. Если несколько значений нужно исключить, то перед этой функцией нужно создать переменную с масивом.
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38043402
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне показалось, что таким образом Вы от скули защититься хотите =)
...
Рейтинг: 0 / 0
[PHP] Исключение слов из строки поискового запроса
    #38043489
phpz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Минин ИгорьvkleКак понимаю, требуется применить некий фильтр. Проще всего банальная замена подстроки в цикле по словарю "неугодных" слов, но насколько это приемлемо к Вашей задаче - это Вам виднее. Для точного соответствия оно еще куда ни шло, но в реале окажется скорее всего гораздо сложней. Возможно, более правильным будет разбить входную фразу в массив, сохранив в каждый элемент по одному слову. Затем поэлементно проверить массив на соответствие различным словоформам и удалить ненужные. Из оставшегося собрать условие отбора.

Суть такая, скажем ввожу в поиск фразу "проверка текст", в скрипте слово "текст" записано в исключения и следовательно введенная фраза обрабатывается и остается только "проверка" и уже по этому слову начинается поиск по таблице.

На практике имею следующие, имеются несколько таблиц где записаны адреса улиц, но записаны по разному, т.е. в одной прописано например "Невский", в другой "Невский пр.", в третий "Невский пр-т". И адресов в каждой таблице по 6-8 тыс. Хоть и поиск задан через неточные совпадения (%...%), но скажем, если человек введет "Невский проспект", то ему следовательно ничего не выдаст, по-этому у меня и появилась задача исключить самые частые дополнения плана (пр-т, проспект, пр. и тому подобное) перед самим поиском, чтобы по таблицам он искал "Невский".

Вот блин, важный пост пропустил... Может вместо поиска ненужных слов стоит замутить через регэкспы:
http://stackoverflow.com/questions/1127088/mysql-like-in
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Исключение слов из строки поискового запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]