WHERE LIKE

12
[Удален]
1403

Под запрос:


SELECT `itemid`,`articleid`,`title`,`yearwrite`,`number`,`author`,`keywords`
FROM `jos_advsearch`
WHERE `published`=1
AND ( `title`LIKE '%нас%' OR `title`LIKE '%квартире%' OR `title`LIKE '%газ%' )
LIMIT 0, 10

Находятся два результата:

Собственно:

А у нас в квартире газ

и

Наследуется ли рак?

Как объяснить оператору, что "нас" или любое другое, это отдельное слово, а не часть его?

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

LIKE '%квартире %' OR LIKE '% квартире%' OR LIKE '% квартире %'

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
[Удален]
#2

да верно, спасиб... видимо в похмелье не сварил сам))

D
На сайте с 14.01.2007
Offline
153
#3
LEOnidUKG:
LIKE '%квартире %'

штабквартире :) + знаки препинания = гиблое дело :)

[Удален]
#4

не совсем всё верно...

Если бы у нас было:

Рак наследуется?

То этот запрос, всё равно показывает ложные результаты, хотя и уменьшает их вероятность...

N
На сайте с 06.05.2007
Offline
419
#5

(wi), если потыкаешь в настройках дле и включишь полнотекстовый поиск, то тексты автоматически станут разбиваться на слова и таких глупых совпадений не будет.

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

Кнопка вызова админа ()
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#6
Dinozavr:
штабквартире :) + знаки препинания = гиблое дело :)

А кто сказал, что жизнь проста?)))

Можно попробовать REPLACE в запросе, но помоему это не то. Поэтому дошлифовываем массив через PHP :)

[Удален]
#7
netwind:
(wi), если потыкаешь в настройках дле и включишь полнотекстовый поиск, то тексты автоматически станут разбиваться на слова и таких глупых совпадений не будет.
будут другие проблемы, но может тебе так больше понравится. например, слово "нас" не проиндексируется, потому что слишком короткое. так ведь оно по сути мусорное.

По таблице догадаться можно, что речь идёт о Joomla (и подсказка версия 1.6). Я не использую поиск, я его создаю заново.

Разбил на слова - элементы запроса, фильтр, по русскому алфавиту(от 3-х букв в слове), через регулярные выражения. Теперь думаю, как загнать их в запрос, что-бы не было ложнои выборки.

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#8
(wi):
Разбил на слова - элементы запроса, фильтр, по русскому алфавиту(от 3-х букв в слове), через регулярные выражения. Теперь думаю, как загнать их в запрос, что-бы не было ложнои выборки.

Ну теперь выходные данные так же через регулярку обработайте и всё :)

[Удален]
#9
LEOnidUKG:
Ну теперь выходные данные так же через регулярку обработайте и всё :)

Да... Верно, щас попробую...

kil
На сайте с 03.04.2006
Offline
84
kil
#10

Может мой мозг сейчас не способен что-то вменяемое выдать. Но все же если надо искать именно слова, то:

(WHERE `title` RLIKE '[[:<:]]нас[[:>:]]' OR `title` RLIKE '[[:<:]]квартире[[:>:]]' OR `title` RLIKE '[[:<:]]газ[[:>:]]'
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий