@proRuby

Страница 801 из 1594
Anatoly
10.10.2017
13:11:43
я про эластик.

Lupsick
10.10.2017
13:12:05
эластик – это сложно

Anatoly
10.10.2017
13:33:19
@jarosluv Fragment has_many Compilations (на самом деле сделано через through, но наверное это не важно) Индекс делаю вот так scope :es_index, -> { includes(:compilations) } Создаю метод: def compilations_ids compilations.pluck(:id) end маппаю его indexes :compilations_ids, type: 'integer' И мне нужно добаивить доп. фильтр в поиске фрагментов, который бы брал только те фрагменты, у которых есть compilations с определенным id (парамтер)

Google
Ярослав
10.10.2017
13:39:07
А просто { "query": { "match": { "compilations_ids": 777 } } }не работает?

Anatoly
10.10.2017
13:42:02
@jarosluv Не пробовал, сейчас попробую, я все фильтры мучал.

Работает, благодарю. Ну а вообще случаи, подобные моему, так же и реализуются? Через массив и query?

Ярослав
10.10.2017
13:45:55
Если просто отфильтровать по данным из массива, то можно так. Если нужны более сложные выборки по ассоциациям, то через nested. https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html

Fedor
10.10.2017
13:45:56
https://www.elastic.co/guide/en/elasticsearch/guide/current/combining-filters.html

я делаю bool запрос вида: # query: { # "bool" : { # "must" : [], # "should" : [], # "must_not" : [], # "filter": [] # }

и там в filter можно множество условий задавать параллельно

в том числе и filter

filter: [ { terms: { type: ['Product', 'Service'] } } ]

примерно так

Ярослав
10.10.2017
13:47:22
Само собой, если нужно фильтровать по нескольким условиям, то условия нужно объединять.

Fedor
10.10.2017
13:48:05
просто без объединения эластик чаще всего просто не нужен )

вполне хватает постргеса

Google
Anatoly
10.10.2017
13:48:27
@FedorKoshel Конечно, я так и использую, у меня там куча условий, просто вопрос был про именно такое.

Valentina
10.10.2017
13:54:45
#вакансия #backend #ruby #можно_удаленно #проектная_занятость #fulltime http://rubyjobs.ru/vacancies/5117 ✔️Город: #Москва, Воробьевы Горы/Ленинский проспект ✔️Формат работы: #Офис или #удаленно ✔️Занятость: #fulltime, гибкое начало рабочего дня (с 10 или 11 часов утра), на проект ✔️Зарплата: от 100000 до 150 000 на руки, по результатам интервью, вилка двигается в большую сторону, смотря какая квалификация. ?Всем привет! Ищу на проект Ruby разработчика (миддл, сеньор). Нужно допилить проект, работа в команде, сумму обсуждаем по итогам технического интервью ?Занятость до конца года, оформим официально по договору ГПХ. Возможно продление контракта и оформление в штат компании. За подробностями, резюме - ко мне в личку.

Ярослав
10.10.2017
14:08:52
@FedorKoshel @m1neral Если Фёдор, говорил об использовании фильтров, то можно сделать так { "query": { "bool": { "filter": { "terms": { "compilations_ids": [777] } } } } }Для отсечения неподходящих записей подойдёт ещё лучше.

Anatoly
10.10.2017
14:10:25
Меня смущает значение в виде массива. Ведь мой кейс - это всегда один id.

Fedor
10.10.2017
14:13:53
там, вроде не обязательно должен быть массив

"must_not" : { "term" : {"price" : 30} }

из доки

точно так же в фильтр запихнуть можно

Anatoly
10.10.2017
14:16:47
А в чем разница с query в моем кейсе?

Fedor
10.10.2017
14:17:35
не понял

bool это подзапрос, который лежит внутри query

и их можно вкладывать друг в друга еще

а внутри bool условия

Anatoly
10.10.2017
14:19:02
Сейчас сделано у меня через query-bool-must-match-compilations_ids: 777

Вы с @jarosluv предлагаете через фильтр сделать, в чем приципиальная разница на выходе будет?

Fedor
10.10.2017
14:20:31
bool можно мешать по разному с остальными запросами просто

если нужен только match то разницы нет

Anatoly
10.10.2017
14:20:55
Ну да, я о том же, спасибо.

Dm
10.10.2017
14:21:55
разница есть на самом деле

filter - не добавляет score для результатов и еще они кэшируются

Google
Dm
10.10.2017
14:23:04
по крайней мере в старых версиях ES так было

1.х

> Historically, queries and filters were separate components in Elasticsearch. Starting in Elasticsearch 2.0, filters were technically eliminated, and all queries gained the ability to become non-scoring.

в общем, мое замечание актуально только для 1.x

но идеологически - правильно использовать фильтр

Ярослав
10.10.2017
14:31:08
По идее оно и сейчас актуально https://www.elastic.co/guide/en/elasticsearch/reference/5.5/query-filter-context.html

Dm
10.10.2017
14:36:52
круто. а я не там читал

Anton
10.10.2017
15:17:28
https://www.ruby-lang.org/en/news/2017/10/10/ruby-2-5-0-preview1-released/

Alex
10.10.2017
15:22:02
Print backtrace and error message in reverse order if STDERR is unchanged and a tty. [Feature #8661] [experimental] З - зачем?

Vasiliy
10.10.2017
15:23:12
А что за топ левел лукап?

А как классы топ левел?

Anton
10.10.2017
15:24:27
А как классы топ левел?
там не про классы если я правильно понял

Alex
10.10.2017
15:25:05
yield_self - очень на pipe похож - только гораздо уродливее(

Anton
10.10.2017
15:25:42
А что за топ левел лукап?
https://bugs.ruby-lang.org/issues/11547

ну и вот пример понятнее

https://github.com/rails/rails/issues/6931

шикарно User::User::User::User::User::User::User::User::User::User

Vasiliy
10.10.2017
15:26:52
Спс

Anton
10.10.2017
15:27:08
ну как бы да

>> String::String::String (irb):1: warning: toplevel constant String referenced by String::String (irb):1: warning: toplevel constant String referenced by String::String => String

Google
Nikolay
10.10.2017
15:31:06
эмейзинг

Максим
10.10.2017
15:51:00
ребзи

как решаете задачу самый большой по группам в sql?

greatest-n-per-group которая

Danny
10.10.2017
15:53:31
Привет Подскажите где копать, может кто сталкивался Перехожу с главной на страницу. Потом жму back в браузере И не вижу контента главной)





Турболинки?

Решил, спасибо!) ?

(был кривой кусок кода js)

Hard
10.10.2017
17:40:51
Всем привет, у меня вопрос у кто нибудь имел опыт с GOIP шлюзом?

Amir
11.10.2017
03:40:11
Что за волшебная команда gem pristine —all фишку особо не понял, но решил некую проблему с rake

Ignoring bcrypt-3.1.11 because its extensions are not built. Try: gem pristine bcrypt —version 3.1.11

Oleg
11.10.2017
03:48:04
Бкрипт надо билдить судя по всему на локальной машине. Как минимум такое на ноде есть, подозреваю что под руби аналогично

Судя по всему эта команда билдит бкрипт

Максим
11.10.2017
05:51:33
Пацаны там 2.5.0

Oleg
11.10.2017
05:53:30
Не видно что-то

Anton
11.10.2017
05:55:41
Там пре 2.5.0 же

Alexander
11.10.2017
06:51:49
Эмм... они вкорячили бандлер и теперь он будет искаропке?

Roman
11.10.2017
07:26:14
талаадно

Google
Mark
11.10.2017
07:28:34
Всем привет

подскажите как подменить клиент elasticsearch при старте рельс?

Fedor
11.10.2017
07:30:03
__elasticsearch__.client = Elasticsearch::Client.new(options)

вообще в любом месте можно сделать

Mark
11.10.2017
07:30:24
о

спасибо

Fedor
11.10.2017
07:30:34
не за что

Mark
11.10.2017
07:32:02
NameError: undefined local variable or method `elasticsearch' for main:Object

Fedor
11.10.2017
07:37:14
а ты модель то взял из эластика?

class Article < ActiveRecord::Base include Elasticsearch::Model end

Article.__elasticsearch__.client = Elasticsearch::Client.new host: 'api.server.org'

http://www.rubydoc.info/gems/elasticsearch-model/

дока в общем

Mark
11.10.2017
07:42:21
тут нет такого

ну может я пока что что-то не понимаю

тут юзается chewy и elasticsearch

Fedor
11.10.2017
07:43:07
а как он юзается?

просто json дергается что ли?

для него есть билиотеки, через которые он обычно и работает

Страница 801 из 1594