Плагин «Поиск по топикам, комментариям, людям, блогам и тегам (Simple Search and Auto Completer)»
Именно так теперь называется плагин «Поиск по топикам, комментариям и людям (Simple Search and Auto Completer)»
НОВОЕ
- исправлена небольшая визуальная неточность в блоке поиска по людям для шаблона девелопер
- в конфиге добавлена возможность задавать список типов блогов чтобы производить поиск по топикам, которые созданы другими плагинами и имеют свой тип блога (например, блоги с подразделами от aceblogextender, плагин Компании от gran'а)
- добавлены пользовательские словари, которые находятся в папке dictionaries плагина: stopwords.txt нужен для исключения ненужных слов из поиска, wordforms.txt нужен для дополнения поискового запроса синонимами. Формат этих словарей полностью совместим с форматом Сфинкса
- добавлена опция показа ссылок поиска в других ПС по сайту если ничего не найдено средствами встроенного поиска (ссылки на Гугл, Яндекс и Бинг)
- добавлен OpenSearch — открытая технология, которая позволяет добавлять поиск по сайту как поисковый плагин для браузера.
- добавлен новый поиск по описаниям блогов
- теперь если пользователь авторизирован, поиск дополнительно проводится в закрытых блогах, к которым у пользователя есть доступ (раньше поиск в закрытых блогах не проводился)
- добавлена возможность поиска внутри блога. В форме поиска можно выбрать блог, в котором нужно искать топики. Также на страницах блогов добавлена форма поиска по этому блогу.
- добавлен расширенный поиск по тегам с возможностью выбора части тега, например, середины
- возможность поиска по тегу в блоге
- интегрирован плагин «Tags like full», который позволяет подбирать теги набирая даже их часть (не обязательно начало тега) в автокомплитере
- добавлена возможность поиска по избранному пользователя для топиков, комментариев и топиков за тегом
ОПИСАНИЕ
Хороший поиск с простой релевантностью (на основе регулярных выражений в запросах к БД) по топикам (заголовок, текст), комментам, пользователям (логин, имя, страна, город и поле «о себе»), описаниям блогов (заголовок, текст) и расширенный поиск по тегам, автозаполнение (автокомплитер) по тегам, логинам для формы поиска. Не требует установки других плагинов для своей работы. Альтернатива сфинксу.
ВОЗМОЖНОСТИ
Преимущества перед поиском aceMySearch:
- поддержка украинских символов і, ї, є, ґ в поиске прямо из коробки, русского ё
- плагин является standalone — т.е. для его работы не нужны другие плагины (как, например, для работы плагина aceMySearch нужна админка)
- улучшенный алгоритм релевантности при поиске (см. ниже)
- улучшенное восстановление кодировки если та по пути до сервера была «повреждена» (ввели в строке старого браузера или «выпал» последний символ юникода кириллического символа)
- по непроверенным данным (общепринятому мнению) используемые запросы (INNER JOIN) являются быстрее тех, на которых построен плагин aceMySearch (LEFT JOIN), итого: прирост в скорости поиска.
- плагин может производить поиск по данным профилей пользователей.
- плагин может производить поиск по описаниям блогов.
- плагин может производить расширенный поиск по тегам (см. ниже).
- Позволяет включить поддержку поиска по топикам, которые созданы другими плагинами и имеют свой тип блога (можно задавать список типов блогов).
- есть пользовательские словари.
- показ ссылок поиска в других ПС по сайту.
- добавлен OpenSearch.
- поиск дополнительно проводится в закрытых блогах, к которым у пользователя есть доступ.
- возможность поиска внутри блога.
- возможность поиска по тегу в блоге.
- позволяет подбирать теги набирая даже их часть.
- возможность поиска по избранному пользователя.
Преимущества перед Сфинксом:
- ищет всегда самую свежую и актуальную информацию, в отличие от Сфинкса, который нужно синхронизировать раз на определенное время чтобы в поиск попали новые топики и комментарии.
- в результаты поиска не попадают топики или комментарии из закрытых блогов или черновиков в отличие от Сфинкса, у которого есть такая ошибка.
- плагин может производить поиск по данным профилей пользователей.
- плагин может производить поиск по описаниям блогов.
- плагин может производить расширенный поиск по тегам (см. ниже).
- Позволяет включить поддержку поиска по топикам, которые созданы другими плагинами и имеют свой тип блога (можно задавать список типов блогов).
- есть пользовательские словари.
- показ ссылок поиска в других ПС по сайту.
- добавлен OpenSearch.
- поиск дополнительно проводится в закрытых блогах, к которым у пользователя есть доступ.
- возможность поиска внутри блога.
- возможность поиска по тегу в блоге.
- позволяет подбирать теги набирая даже их часть.
- возможность поиска по избранному пользователя.
Релевантность выдачи:
Поиск использует выдачу на основе точного совпадения с искомым словом, а потом уже похожих слов и строит на основе этого выдачу, т.е. в выдачу сначала попадают объекты в которых найдено точное совпадение с запросом, потом — похожие. Плагин выполняет поиск по соответствию одного из слов запроса в тексте (ИЛИ).
Наибольший приоритет имеет точное совпадение поискового запроса в заголовке + тексте топика — если в обоих полях найдено точное совпадение — делаем вес релевантности самым большим, потом точный поиск осуществляется по заголовку топика, после — точное совпадение плагин ищет в тексте. Потом производится поиск на не точное совпадение снова в заголовке + тексте топика, потом в заголовке топика и затем в тексте. После этого идет сортировка по рейтингу, а после уже по времени публикации (на самом деле по ИД, но ИД отображает «дальность» публикации т.к. автоматически инкрементируется), самые старые объекты будут в конце поисковой выдачи.
Рассмотрим запрос на украинском языке "їжа kiss": плагин выведет первым топик в котором есть слово kiss с рейтингом +2, потом топик о еде ("їжа") с нулевым рейтингом и потом топик о ежиках ("їжак", "їжаки" и т.п.) тоже с нулевым рейтингом, причем результаты поиска будут определены по группам точное/не точное совпадение в заголовке/тексте.
В плагин включен автокомплитер по тегам для поиска, который раньше был выполнен в виде отдельного плагина.
В плагин добавлена возможность поиска по людям:
Поиск выполняется по логину, имени, стране, городу и поле «о себе». Релевантность при поиске пользователей не используется, на форме есть опция "точный/не точный поиск", которая задает алгоритм поиска.
Существует возможность задавать список типов блогов чтобы производить поиск по топикам от других плагинов (например, блоги с подразделами от aceblogextender, плагин Компании от gran'а).
Можно задать пользовательские словари: для исключения ненужных слов из поиска, для дополнения поискового запроса синонимами. Формат этих словарей полностью совместим с форматом Сфинкса.
Опция показа ссылок поиска в других ПС по сайту если ничего не найдено средствами встроенного поиска (Гугл, Яндекс и Бинг).
Есть OpenSearch — открытая технология, которая позволяет добавлять поиск по сайту как поисковый плагин для браузера.
Добавлен поиск по описаниям и заголовкам блогов
Если пользователь авторизирован, поиск дополнительно проводится в закрытых блогах, к которым у пользователя есть доступ.
Добавлена возможность поиска внутри блога:
В форме поиска можно выбрать блог, в котором нужно искать топики. Также на страницах блогов добавлена форма поиска по этому блогу.
Добавлен расширенный поиск по тегам:
Можно искать даже по части тега, например, середины (интегрирован плагин «Tags like full»), а также возможность поиска по тегу в блоге.
Добавлена возможность поиска по избранному пользователя:
Для топиков, комментариев и расширенного поиска топиков за тегом есть возможность указать поиск в избранном.
Плагин предлагает фасетный поиск по поисковому запросу + блогу или по всем + возможность поиска по избранному.
При выводе результаты поиска выводятся в порядке релевантности: сначала точные результаты, потом похожие. Каждая группа результатов подписана и визуально отделена (точное совпадение в заголовке + тексте, заголовке, тексте и в таком же порядке для неточного совпадения).
Поисковый запрос выделяется в тексте цветом.
Запросы оптимизированы, все результаты поиска кешируются.
В конфиге доступны параметры:
— Минимальная длина поискового запроса (всего)
— Максимальная длина поискового запроса (всего)
— Минимальная длина слова в запросе
— Максимальная длина слова в запросе
— Вырезать ли все теги из поискового запроса, иначе — обработать стандартным парсером ЛС
— Количество результатов поиска на страницу
— Включать ли автозаполнение (автокомплитер) по тегам для формы поиска
— Включить поиск по топикам
— Включить поиск по комментариям
— Включить поиск по людям
— Включить поиск по описаниям блогов
— Включить расширенный поиск по тегам (в блогах)
Секция проверки запроса:
— Символы, которые считаются валидными. Все остальные вырежет парсер. Для добавления других языков сюда нужно будет внести набор символов (регекспа)
Секция выделения результатов поиска в тексте:
— Граница слова, используется при подсветке результатов поиска (регекспа)
— Выделение искомого слова слева (html строка)
— Выделение искомого слова справа (html строка)
Секция поиска по релевантности информации:
— Точный поиск по умолчанию. Например, поиск по слову «Сон» — будет искать точное совпадение (регистр-независимое), иначе найдет «Сонату» и т.п.
— Разрешить НЕ точный поиск ДОПОЛНИТЕЛЬНО и ТОЛЬКО если включен точный поиск. Результаты будут выдаваться на основе релевантности найденной информации — сначала тексты, где найдено точное совпадение с искомым запросом, потом — тексты, где встречаются и похожие слова
Секция сортировки результатов:
— Как выводить топики
— Как выводить комментарии
— Как выводить людей
— Как выводить список блогов
Секция задания списка разрешенных типов блогов:
Позволяет включить поддержку поиска по топикам, которые созданы другими плагинами и имеют свой тип блога.
Секция проверки словарей:
Словари позволяют расширить морфологические возможности плагина. stopwords.txt нужен для исключения ненужных слов из поиска. wordforms.txt нужен для дополнения поискового запроса синонимами. Действие словарей такое же как и у Сфинкса и имеют такую же структуру.
Секция поиска в других ПС:
Можно показывать ссылки для поиска в других поисковых системах по этому же сайту если ничего не найдено средствами встроенного поиска.
СКРИНШОТЫ
1.
2.
3.
4.
5.
6.
7.
8.
9.
Плагин доступен в каталоге. Стоимость 10уе.
Кросспост из гида по движку ливстрит.
124 комментария
А поиск в личке так и не появился?
Очень хотелось бы научить этому Ваш прекрасный плагин)
ждите исправления от автора плагина ViewCount или отключайте его.
1 — скачиваем обновление ViewCount
2 — находим \plugins\viewcount\classes\modules\topic\Topic.class.php
3 — меняем в 35 строке:
на
готово!
повторяю: я не буду этого делать т.к. это сильно нагрузит БД.
так держать!
А еще отдельная благодарность за такое большоооое и понятное описание))
Какова эта нагрузка вообще? в процентах например или с чем ее можно сравнить? с открытие топика например :) как нибудь можно человека понятных языком объяснить, так как хочу использовать этот плагин, но именно это отпугивает…
и возможно ли за отдельные деньги подключить к вашему плагину сфинск?
ну по юзерам ищет, но этот поиск в отдельном разделе а не в одной строке
livestreet.ru/blog/dev_documentation/13482.html вот тут конфиг ищет и по тегам и по юзерам в том числе. Описание блога добавить — тоже не проблема. Исключить из поискового индекса закрытые блоги — тоже. там же.
это показывает ваш уровень не компетентности и не знание логики работы движка, я ещё раз подчеркиваю: без изменения кода поиска (а не только запросов) этого не выполнить, вам кажется что все так просто пока вы не столкнулись с реализацией. я же не первый день программированием занимаюсь и знаю о чем говорю.
и на этом заканчиваю с вами
спорбеседу.Вы только не подумайте. Ваш плагин — прекрасное решение, но так где сфинкса нет. IMHO разумеется.
и о поиске, который данный плагин реализует значительно лучше и многофункциональнее чем конфигурация сфинкса, даже самая продвинутая.
пусть ваша мысль остается такой. не буду с вами спорить.
не замерял, жалоб нет.
ни чем не отличается. открывается как обычно.
нет, зачем?
мне интересно на сколько нагрузит сервер.
В любом случаи спасибо попробую на своих проектах, если что напишу
1. сфинск индексирует и ищет по своим списках как я понимаю
2. у вас тебе запрос прям в sql, что дает нагруз
3. по сравнению в сфинск, нагруз больше получается
я все верно понимаю :) или мое мнение ошибочно? если ошибочно можете объяснить?
на БД — возможно, в итоге на сам сервер — сомнительно, но другие плюсы (коих масса) явно перевешивают это.
а ваш поиск отправляет запрос каждый раз :)
и на сколько мне известно он пробивает только новые, которых у него нету. А не все, может конечно ошибочно.
а у вас контролировать кол-во запросов нельзя, так как это пользователи, в день может быть или 7 или 107 запросов.
и идет запрос во всем топикам, а не по новом как в кроне.
вот какие мысли у меня в голове :) что скажите где прав? где не очень
Вот на livestreetguide В каждом блоге присутствует поиск.
Это можно будет убрать или нет?
P.S.: Планирую покупку плагина поэтому и спрашиваю
Можно будет узнать какую именно строчку нужно удалить?
удалить 16 строку:
в simplesearch/classes/hooks/HookSimplesearch.class.php
Теперь, пытаюсь понять что с отображением.
Все почистил но «висел» куш браузера. Почистил и все заработало :)
если компании создаются как обычные топики с блогами, которые имеют свой тип, то достаточно занести тип такого блога в конфиг. узнать можно у разработчика Компаний. Мне кто-то подсказывал что так и сделано, я на всякий случай занес тип блога «company» в список разрешенных типов блогов для поиска так что если это так, то последняя версия плагина уже должна была бы искать и по компаниям.
Все ОК, вот только в выпадающем меню в каких блогах искать нет списка.
Подскажите, возможно решить?
перенести без переделки никак, можно отключить.
в simplesearch/classes/hooks/HookSimplesearch.class.php
подумаю над этим.
я имел ввиду, чтобы искал в тексте все совпадения где нибудь, не обязательно вместе.
Наверное имеет смысл для LS2.X.X
либо удалите кнопку вовсе
пишет Ошибка: Слово «в» слишком короткое или длинное и исключено из поиска, хотя это слово идет 2 после длинного слова, например если написать warcraft 3 он покажет warcraft 3, warcraft 2, warcraft 1
есть просто фильм такой 1+1 так он его не ищет.
значит пока никак.
Например отключить часть функционала.
Возможно ли перед поиском не очищать текст от тегов, а просто не учитывать их (сделать в виде списка исключений, либо игнорировать все что между < и >)?
Тогда вместо:
сделать:
Возможно?
Плагин «Поиск по топикам, комментариям, людям, блогам и тегам (Simple Search and Auto Completer)»
При поиски фотосет плагин удаляет картинки фотосета.
$config['Highlight_Words'] = false;
Нажмите покупки и выберите плагин сбоку кнопка скачать, отправить ссылку на емайл, нажимаем на ссылку и качаем.
Мое мнение — нужно разработчикам поддерживать версионность. Например плагин выходит в каталог с версией 1.0.0. Покупатель имеет доступ всей 1-й ветке. Т.е. если закрываются баги, то появляются 1.0.1.; 1.1.0 и т.п. А если улучшается функционал, то появляется 2.0.0 — вот здесь за неё можно уже продлевать лицензию.
Также будет зависеть от порядочности разработчиков — нашлись баги и есть улучшения: в 1-ю ветку вносим правки багов, во 2-й правим баги и улучшаем.
PSNet , что думаете?
Извините за оффтоп…