исключение html кода из поиска

HraKK

Мудак
Команда форума
AmdY
ой, ненадо тут дедовщину я тоже долго не шарил индексы - хайлоад не у всех есть, а 500 хостов и без индексов выдержит даже полное гамно)))
 

Вурдалак

Продвинутый новичок
Re: исключение html кода из поиска

Автор оригинала: MailRes
ток появилась заморочка, в таблицах БД есть html код
— искать по полю с hyper-текстом вообще нельзя.

Автор оригинала: MailRes
Думаю что все корректно сделал, теги теперь не ищутся
— а как ты постраничную навигацию сделаешь?
 

MailRes

Новичок
Блин, обнаружил новый глюк - страницы с материалом сделаны по одному и тому же шаблону, ток вот догнать теперь не могу в результате он мне не все отображает страницы :( т.е. - напримере слова "машина"

Если в вожу в поиске "машина", получаю 11 совпадений вместо 70ти, если ввожу "Машина" или "ашина", то получаю все 70 совпадений. Где может быть косяк?

-~{}~ 14.02.10 18:04:

Автор оригинала: MailRes
ток появилась заморочка, в таблицах БД есть html код



— искать по полю с hyper-текстом вообще нельзя.

Автор оригинала: MailRes
Думаю что все корректно сделал, теги теперь не ищутся



— а как ты постраничную навигацию сделаешь?
я пока над этим не задумывался)
 

C_TIGER

Новичок
HraKK
к тому как нормально делать
>>исключение html кода из поиска
 

HraKK

Мудак
Команда форума
C_TIGER
Я тебе кажется советовал ничего не советовать другим? Будь добр, прислушайся.
 

C_TIGER

Новичок
HraKK
не помню.
но ты тоже постарайся не давать советов тем кому не надо =)
 

dimagolov

Новичок
Если в вожу в поиске "машина", получаю 11 совпадений вместо 70ти, если ввожу "Машина" или "ашина", то получаю все 70 совпадений. Где может быть косяк?
Collation?

-~{}~ 14.02.10 11:16:

C_TIGER, если ты еще не понял, то ты посоветовал полный бред и лучше тебе советы не давать, чтобы не продолжать позориться.
 

MailRes

Новичок
utf8_general_ci - она у меня во всех таблицах + в БД по умолчанию

и в коде стоит
PHP:
mysql_query ("SET NAMES utf8");
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
 

C_TIGER

Новичок
ради интереса попробуй

$query = "select * from table where LOWER(field1) like '%".strtolower($trimmed)."%' OR LOWER(field2) like '%".strtolower($trimmed)."%'";
 

MailRes

Новичок
C_TIGER
после запроса у меня идет код
PHP:
$result = mysql_query($query) or die("Запрос ошибочный");
и на странице я увидел - "Запрос ошибочный"

-~{}~ 14.02.10 19:12:

dimagolov, все разобрался

Было:
PHP:
$search=strtolower($search);
$trimmed=strtolower($trimmed);
Стало:
PHP:
$search=mb_strtolower($search, "utf-8");
$trimmed=mb_strtolower($trimmed, "utf-8");
Решил вывести на страницу и посмотреть чтоже содержит переменная $search, оказалось, что она не всё переводила в нижний регист, плюс ещё например вместо буквы "г" была "У", порылся в яндексе и нашел решение - mb_strtolower.
Теперь всё работает :)

Не зря поговорка есть - Век живи -век учись :)
 

dimagolov

Новичок
MailRes, ты решил проблему средствали php. но в БД у тебя идет поиск БЕЗ учера регистра руссуих букв, что говорит о том, что Collation не работает. Это может быть если Collation неправильный или если данные в БД не соответствуют кодировке.
PHP:
-- ----------------------------
-- Table structure for upd
-- ----------------------------
CREATE TABLE `upd` (
  `id` int(10) unsigned NOT NULL auto_increment,
   `some_string` varchar(255) default NULL,
  PRIMARY KEY  (`id`),
) ENGINE=MyISAM AUTO_INCREMENT=10002 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `upd` VALUES ('1', 'тест Проверка кодировки');
INSERT INTO `upd` VALUES ('10001', 'тест проверка кодировки');

select * from upd where some_string LIKE '%Проверка%';
/* получаем 2 строки */
 

C_TIGER

Новичок
HraKK
да мне пофиг если честно =)
я сам храню в бд контент с html и не раз делал поиск.
и поверь, мне для этого не понадобилось никаких пауков и прочих поисковых движков =)

а то что тут некоторые заявляют что нельзя по таким полям поиск делать, ну это их большое имхо наверное
 

Вурдалак

Продвинутый новичок
Если какой-то «авторитет» позволяет себе делать говно-поиск, то это оправдание для остальных?
 
Сверху