Новый поиск на TJ

Раньше на сайте мы использовали поиск от Google, которого нам, в принципе, хватало до запуска Клуба: после этого стало ясно, что нам нужен поиск, в котором можно будет найти самые свежие записи из Клуба практически моментально.

И вот наконец-то мы его сделали.

Оптическая иллюзия: вам кажется, что это код TJ, а на самом деле это офис Комитета

В этот раз для fulltext-поиска мы решили использовать Elasticsearch, а не Sphinx, как обычно.

Во-первых, потому что так мы смогли без лишних танцев с бубном расставлять приоритеты у различных блоков внутри записей в Клубе — так как запись хранится в JSON, Sphinx бы так не смог.

Во-вторых, хотелось попробовать что-то новое.

Никита тестирует новый поиск

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

А специально для Ильи А. мы прописали синонимы для «ИГИЛ», и поиск понимает, что «ИГ», «ISIS» и «ДАИШ» — это одно и то же.

Пока, конечно, поиск не идеален, но с вашей помощью мы его допилим.

А что ещё он умеет?

Поиск понимает следующие операторы:

+ — логическое И (например, запрос «ИГИЛ + Путин» покажет все записи, где упоминается и Путин и ИГИЛ)
| — логическое ИЛИ (аналогично, но только с «ИЛИ»)
- — НЕ (например, запрос «Россия -Путин» покажет все записи про Россию без Путина)

Если нужно отыскать по точной фразе, то используйте кавычки ("). Ещё можно использовать скобки.

#tjdev

0
31 комментарий
Написать комментарий...
Будущий теркин30см
покажет все записи про Россию без Путина

Чекальский-оппозиционный

Ответить
Развернуть ветку
Мобильный завод
ФСБ вам покажет Россию без Путина

Было бы ещё интересно, если бы после введения заголовка, внизу выскакивали ближайшие к нему по поиску статьи.

Ответить
Развернуть ветку
Средневековый динозавр
Ответить
Развернуть ветку
Приятный будильник
А специально для Ильи А.

Вот она, сила и прелесть Клуба :)

Ответить
Развернуть ветку
Психический глобус

Кстати, найти новости с упоминанием ДАИШ, не не ИГИЛ никак не получается.)

Ответить
Развернуть ветку
Стеклянный меч

Комментарий недоступен

Ответить
Развернуть ветку
Поздний волк

А эмодзи можно? 😂

Ответить
Развернуть ветку
Стеклянный меч

Комментарий недоступен

Ответить
Развернуть ветку
Свободный Паша

ИГИЛ - запрещенная в России террористическая организация

Ответить
Развернуть ветку
Серьезный пёс_анон

Комментарий недоступен

Ответить
Развернуть ветку
Традиционный корабль

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 страницы, а по "Елистратов"-у всего одну!

Ответить
Развернуть ветку
Уральский единорожек88

А по комментам будет?

Ответить
Развернуть ветку
Средневековый динозавр

а по ним и так есть

Ответить
Развернуть ветку
Славянский танк88

как насчет функции переголосовать?

Ответить
Развернуть ветку
Самостоятельный супер_стар

Комментарий недоступен

Ответить
Развернуть ветку
Читать все 31 комментарий
null