Перейти к содержанию

(BIM) Quick Search


Dobrochas

Рекомендуемые сообщения

9 часов назад, Zero108 сказал:

Кстати, можно было бы исключить из логов вот такие запросы

Я не могу получить такую запись. Пустой запрос быстрым поиском не отправляется, а если нажимать кнопку с пустым запросом или жать Enter, то запись у меня не добавляется.

Ссылка на комментарий
Поделиться на другие сайты

edmsl У меня тоже не получается получить такую запись намеренно.

Ссылка на комментарий
Поделиться на другие сайты

Zero108 Может боты балуются? У меня гости исключены из логирования.

Ссылка на комментарий
Поделиться на другие сайты

edmsl возможно, боты, так как нечасто и давно не было.

Ссылка на комментарий
Поделиться на другие сайты

Zero108 В пользу этой теории говорит еще то, что текст запроса - это текст из плейсхолдера (заглушки) поля поиска.

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, edmsl сказал:

Sorry, but no. I did't work with cripto coins and I can't even test this plugin.

Ok, no problem

9 часов назад, edmsl сказал:

Yes, but he did not answer

Ссылка на комментарий
Поделиться на другие сайты

Обнаружил еще одну проблему. Если, допустим, у файла указан скриншот по url, то в поиске он те отображается. Буду разбираться.

Ссылка на комментарий
Поделиться на другие сайты

edmsl Уже пора переименовать плагин в Smart Search 1.1.0 и выложить отдельным файлом. От изначального кода там осталось 10%.

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Zero108 сказал:

От изначального кода там осталось 10%

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

Буду выпускать его под именем Smart Search, название мне нравится, хотя и не совсем подходит.

И да, проблему со скриншотом выше решил. Вечером скину новый файл сразу с исправлением.

Ссылка на комментарий
Поделиться на другие сайты

edmsl Добавишь новую раздачу файла отдельно? Там удобнее будет не смешитвать. Плагин вьетнамского автора, если честно, кажется не таким уж хорошим после твоих нововведений и информации, что я узнал насчет защиты через php от флдуда. 

40 минут назад, edmsl сказал:

название мне нравится

Предложил название по аналогии с модулем умного поиска для Битрикса. Везде такая тема называется именно умным поиском в русском сегменте интернета. Умный поиск Голубева, например, постоянно развивается. Там есть учет типовых ошибок при наборе, учет неправильного языка при наборе и т.д. 

Изменено пользователем Zero108
Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, Zero108 сказал:

Добавишь новую раздачу файла отдельно?

Да, добавлю.

10 минут назад, Zero108 сказал:

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

В общем, есть куда развивать плагин если что.

Ссылка на комментарий
Поделиться на другие сайты

edmsl могу прислать папку умного модуля Голубева. Может что из php оттуда взять можно? Хотя, что создано в Битриксе, умирает в нём же, так как система специфическая.

Ссылка на комментарий
Поделиться на другие сайты

Zero108 Взглянуть-то можно, а там видно будет, сгодится он или нет.

Ссылка на комментарий
Поделиться на другие сайты

@Exception Нужна твоя консультация.

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

В коде плагина есть такие строки:

$term = preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $term);

$temp = preg_split('//u', $term, 0, PREG_SPLIT_NO_EMPTY);

foreach ($temp as $a) {
	$cnt = 0;
	if (preg_match('/[^\w\s]+/u', $a)) {
		$cnt++;
		if ($cnt >= 2) {
			\IPS\Output::i()->json(array('type' => 'OK', 'html' => "", 'term' => $term));
		}
	} else {
		$cnt = 0;
	}
}

где $term = preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $term); убирает кавычки в начале и конце строки. Из-за этого точный поиск не срабатывает.

Собственно, мне не понятно, для чего это делается. Какая-то защита? Вроде из инпута в любом случае передается строка.

И проверка в цикле мне тоже не понятна. Разбивается вся строка на символы, а потом проверка на длину символа, где считаются все НЕ буквы и НЕ пробелы. Видимо, это какие-то специфические проверки безопасности, о которых я не знаю, но хотелось бы понять это все.

Изменено пользователем edmsl
Ссылка на комментарий
Поделиться на другие сайты

Ответа я так и не нашел, поэтому решил делать, полагаясь на логику. В итоге написал так:

// Удалил эту строку отсюда и сделал удаление кавычек только для $temp для проверки в цикле (1).
//$term = preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $term);

// Здесь проверка, что кавычки есть. Нужно для того, чтобы не не добавлялась * для поиска по неполному слову.
$isStrictSearch = preg_match('/^(\'(.*)\'|"(.*)")$/', $term);

$temp = preg_split(
	'//u',
	// Перенес сюда (1)
	preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $term),
	0,
	PREG_SPLIT_NO_EMPTY
);

foreach ($temp as $a) {
	$cnt = 0;
	if (preg_match('/[^\w\s]+/u', $a)) {
		$cnt++;
		if ($cnt >= 2) {
			\IPS\Output::i()->json(array('type' => 'OK', 'html' => "", 'term' => $term));
		}
	} else {
		$cnt = 0;
	}
}

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

Ссылка на комментарий
Поделиться на другие сайты

В 11.08.2023 в 10:53, edmsl сказал:

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

Можно и в одинарные ковычки обернуть. Кто как привый искать. Я оборачиваю на гугле в "поисковая фраза".

Ссылка на комментарий
Поделиться на другие сайты

Zero108 Одинарные не работают на движке. Попробуй в стандартном поиске с одинарными и с двойными обернуть по очереди.

Ссылка на комментарий
Поделиться на другие сайты

edmsl пока не заметил разницы между поисковая фраза, "поисковая фраза" и 'поисковая фраза'. Может у тебя получится? https://a108.net/search

Ссылка на комментарий
Поделиться на другие сайты

Zero108 Поиск Эластик? Как-то странно он себя ведет все же. Но даже так разница очевидна.

Спойлер

firefox_2023-08-12_14-36-19.thumb.jpg.025367e7c687a22f3e06f17e259da1fb.jpg

firefox_2023-08-12_14-36-56.thumb.jpg.7af1c21fdc09e1bc7ac09abd67b6527c.jpg

firefox_2023-08-12_14-37-54.thumb.jpg.dac761eec6f30903038486f2de30ff6d.jpg

В последнем варианте, с двойными кавычками, по идее, должен найти только те строки, где слова строго в указанном порядке. Но 3-я выдача не соответствует ему. Внутри в статье тоже нет такой фразы.

Ссылка на комментарий
Поделиться на другие сайты

edmsl Да, эластик. В настройках стоит: "Both apples and bananas".

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

Изменено пользователем Zero108
Ссылка на комментарий
Поделиться на другие сайты

Выложил новую версию под новым именем.

Ждет одобрения.

Ссылка на комментарий
Поделиться на другие сайты

edmsl а что там поменялось с последнего раза?

Ссылка на комментарий
Поделиться на другие сайты

Zero108 Точный поиск с кавычками, пара новых опций поиска для виджета.

Новое название, следовательно изменены все классы CSS и id.

Ссылка на комментарий
Поделиться на другие сайты

edmsl скинь в телегу, побуду тестером.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...