AlexMist
Может кто сталкивался с такой задачей.
Есть словарь терминов, и есть посты. Нужно в тексте постов подсветить термины, что бы например при наведении всплывала подсказка.
Смысл в том что словарь терминов может расширяться и желательно учитывать морфологию.
Dmitrii
AlexMist
Словарь в прямом смысле ) Думаю не больше 100 слов, например термины специфичской темы.
Dmitrii
ну у меня просто проект похожий был
Dmitrii
смотри - у нас все на ноде
AlexMist
Объёмы маленькие
Dmitrii
морфология - https://rocketbank.ru/socks/db72b283
Dmitrii
тьфц
Dmitrii
semantics в npm
AlexMist
ссылка вроде не правильно работает
Dmitrii
а, он только вроде на фио
Dmitrii
это нетуда - из буфера вылезло
Dmitrii
смотри - тебе просто нужно понять, что за термин пришел, так?
Dmitrii
+ язык русский?
AlexMist
У меня есть набор терминов, мне нужно пройтись по тексту, найти упоминание, и пометить както , например ссылкой
Dmitrii
язык русский? - это важно
AlexMist
да
AlexMist
full text search вроде только документы возвращает а не позиции найденых слов
Dmitrii
тогда смотри - тебе просто надо провести операцию стемминга над всеми словами в тексте
стемминг - это поиск основы слова (корень, если грубо)
https://www.npmjs.com/package/natural
там портеровский стемминг
сначала обрабатываешь свою базу - она находит основу
и сохраняешь это как ключи
после уже в реальной задачи проходишь каждое слово в тексте со стеммингом, если есть совпадение, то метишь
AlexMist
Стемминг текста , там получается все слова примут какуюто свою коренную форму ... потом опять же через стеминг ищу термины.
AlexMist
Ну я так то плагин в wordpress видел , найти не могу посмотреть как работает (
AlexMist
Похоже уже рядом https://github.com/NaturalNode/natural#tries
Dmitrii
ну там все равно примерно так же и работает - самое главное, чтобы была база твоих терминов там
Dmitrii
да - это более глубоко - если у тебя там слова с одинаковыми корнями
Dmitrii
это с учетом окончаний и предлогов
AlexMist
Спасибо огромное )
Mykola 🤷🏼♀️
Мне кажется, или это крайне глупо со стороны оптимизатора вычислять каждый раз длину массива. И поэтому этот "хак" совсем не хак
Vladimir
а развe оно вообщe считаeтся?
это жк просто пропeрти, значeниe котррого обновляeтся при опрeдeлeнных дeйствиях
Mykola 🤷🏼♀️
В общем, как я думаю, нужно быть как минимум одним из разработчиков V8 (либо другого движка), чтобы делать какие-то заявления насчет производительности какого-то кода
Mykola 🤷🏼♀️
тем неменее, насколько я знаю, V8 не может в раскрутку циклов
Dmitry
Тем не менее второй вариант немного быстрее на большом массиве. Чуть быстрее если делать for(let i = 0, cnt = arr.length ...
Dmitry
Разница в пару мс
Dmitry
Var тут на скорость не влияет
Mykola 🤷🏼♀️
Dmitry
я в курсе что var быстрее, но сравнивал скорости перебора массивов разными способами
Dmitry
Dmitry
по идее разницы
var cnt = arr.length
for(var i = 0; i < cnt; i++ )
и
for(var i = 0, cnt = arr.length; i < cnt; i++ )
и
for(var i = 0; i < arr.length; i++ )
быть не должно.. но почему микроскопическое отличие по скорости было, уж не знаю может так звезды сошлись в тот день
Dmitry
да нет, просто рандомом генерил массивы одинаковой длины и перебирал считая сумму, чтобы оптимизатор код не выкидывал.. делал не в цикле, а разово.
Dmitry
нода была седьмая, точную версия не помню, можно ради интереса на свежей потетсить.. В целом смысла особого нет, банально было любопытно
Alexander
Стоит ли ставить нестабильную версию ноды для продакшна?
Dmitry
+1, семерка на проде вертится, все норм
Dmitry
обещали 8-ку в апреле выкатить, дата в milestone стоит 4 апреля и куча незакрытых тасков
Dmitry
народ а есть здесь для верстальщиков чатик? вроде в телеге запросить полный список никак, только гуглить или спросить
Andrey 😼
В docker compose можно как-нибудь сделать несколько сервисов, команды которых запускались бы в одном контейнере?
Andrey 😼
Например, у меня есть сервер и галп и работать они должны в одном и том же контейнере
Alexander
Orion
в докере - один сервис - один контейер и всё
Anonymous
Izzzy
Один из процессов можно запустить как демон
Izzzy
Либо как демон, либо через nohup в бекграунде
Alexander
есть кто в монге разбирается?
есть коллекция заказов, в ней хранятся записи о владельце заказа и исполнителе данного заказа
у владельца есть поле-массив, в котором хранится список ролей
как мне в запросе получить заказы только с определенной ролью владельца?
запрос вида
db.orders.find({"owner.roles.0": { $in: ["ROLE_NAME"] }}) результата не дает
A
owner.roles это массив?
A
модель кидай
A
кусок
kdm🇩🇰
в ноде реально реализовать кодом параметры запуска? к примеру мы запускаем node app, но в коде мы прописываем что-то похожее, которое меняет node на nodemon?
Alexander
A
модели так и не увидел
db.orders.find({"owner.roles": { $in: ["ROLE_NAME"] }})
как я понимаю
если owner.roles массив
типа
Schema({
owner:{
roles: [{type: String}]
}
})
Alexander
Owner - ссылка на коллекцию
Alexander
То есть dbref объект
Alexander
И в нем уже как раз массив строк-ролей
Orion
Всем привет! Можете сбросить минимальный package.json и другие файлы, чтобы корректно работал babel и nodemon для разработки и babel для продакшена?
Zaur
Кто нибудь использовал в nodejs библиотеки для сбора поведения пользователей? Хочется отправить в GoogleAnalytics информацию о новых юзерах, их поведении, dau/mau и все такое. Я понимаю что это обычно делается на клиенте, но я пишу бота для телеграм, и надо это все делать на сервере.
Orion
и всё-таки сбросьте конфиги, чтобы при изменений js-файлов, автоматом перезагружался node.js и обновлялся браузер, и ещё использовался babel?
Vadim
тебе babel на сервере нужен?
Orion
да
Sergey
Vadim
думаю import сильно хочется
Orion
Sergey
для es6
на СЕРВЕРЕ зачем?
в CI прошелся бабелем и всё
Vadim
дык, он почти весь поддерживается 6-7 нодой
Orion
или сбросьте что реально на продакшене используете
Sergey
Vadim
bitbacket
Orion
и всё-таки сбросьте реальные файлы для сервера и разработки
Sergey
редмайн?
Orion
я нашёл вагон мусора, который не работает