Раньше на сайте мы использовали поиск от Google, которого нам, в принципе, хватало до запуска Клуба: после этого стало ясно, что нам нужен поиск, в котором можно будет найти самые свежие записи из Клуба практически моментально.
И вот наконец-то мы его сделали.
В этот раз для fulltext-поиска мы решили использовать Elasticsearch, а не Sphinx, как обычно.
Во-первых, потому что так мы смогли без лишних танцев с бубном расставлять приоритеты у различных блоков внутри записей в Клубе — так как запись хранится в JSON, Sphinx бы так не смог.
Во-вторых, хотелось попробовать что-то новое.
Также эластик позволил нам улучшить ранжирование и все недавние статьи вынести в результатах поиска повыше.
А специально для Ильи А. мы прописали синонимы для «ИГИЛ», и поиск понимает, что «ИГ», «ISIS» и «ДАИШ» — это одно и то же.
Пока, конечно, поиск не идеален, но с вашей помощью мы его допилим.
А что ещё он умеет?
Поиск понимает следующие операторы:
+ — логическое И (например, запрос «ИГИЛ + Путин» покажет все записи, где упоминается и Путин и ИГИЛ)
| — логическое ИЛИ (аналогично, но только с «ИЛИ»)
- — НЕ (например, запрос «Россия -Путин» покажет все записи про Россию без Путина)
Если нужно отыскать по точной фразе, то используйте кавычки ("). Ещё можно использовать скобки.
Чекальский-оппозиционный
Было бы ещё интересно, если бы после введения заголовка, внизу выскакивали ближайшие к нему по поиску статьи.
Вот она, сила и прелесть Клуба :)
Кстати, найти новости с упоминанием ДАИШ, не не ИГИЛ никак не получается.)
Комментарий недоступен
А эмодзи можно? 😂
Комментарий недоступен
ИГИЛ - запрещенная в России террористическая организация
Комментарий недоступен
Sublime + схема solarflare
Комментарий недоступен
Комментарий недоступен
Круть. В мобилу бы теперь)
А в мобилу бы еще возможность просмотра профиля того, кто поставил плюс/минус или ответил на комментарий прямо из уведомлений в профиле (или я туплю и так можно?).
А приложением не пользуетесь?
Пользуюсь, но может не знаю всех возможностей.
Вот скриншот. Могу я, скажем, из этого экрана перейти к профилю zoibanа?
А возможность посмотреть, кто поставил плюс моему комментарию, в приложении разве есть?
После обновления сломалось.
Комментарий недоступен
Я просто оставлю это здесь. https://tjournal.ru/users/2422/
В моб. браузере выглядит так:
Вообще-то в Sphinx есть json-поля :)
Как это загуглить? И им можно разные веса при запросе передавать?
Честно говоря, у меня пока руки не добрались их попробовать вживую, но функционал достаточно давнишний, вот первое упоминание в 2013 году: http://sphinxsearch.com/blog/2013/02/07/sphinx-2-1-json-attributes/
Забавно, а я ничего не нашёл. Мне кажется, не самая популярная функция, вот и не пишут про неё нигде. И всё же там не очень понятно, что с весами у разных полей.
В интернетах в принципе по сфинксу не так много информации сложнее basic-уровня. Все, я так понимаю, либо готовят сами, либо зовут Аксенова :)
Веса разным полям можно по идее кодом задавать в SphinxQL.
Более-менее референс:
http://sphinxsearch.com/blog/2013/08/08/full-json-support-in-trunk/
По запросу "Лихачев" нашло статей на 2 страницы, а по "Елистратов"-у всего одну!
А по комментам будет?
а по ним и так есть
как насчет функции переголосовать?
Комментарий недоступен