Size: a a a

2021 February 19

AK

Alexey Kuzin in Tarantool
Nikolay Chudinov
задача будет такая. На вход селект  ('яблоко' ) - резальтат 3, 4
или селект ( 'груша','яблоко', 'хрень') - найдено 0
если  селект ( 'груша','яблоко') - найдено 3 и 4

p.s. Костя, а причем тут json если тут нет key:value
мультикей
источник

DS

Dmitry Sharonov in Tarantool
тут и мультикей, и несколько запросов, потому что через or
источник

NC

Nikolay Chudinov in Tarantool
да, разобрался, спасибо
box.space.test_key.index.multikey:select('яблоко')
---
- - [1, {'data': [{'word': 'яблоко'}, {'word': 'сало'}], 'ws': 132432}]
 - [2, {'data': [{'word': 'яблоко'}, {'word': 'груша'}], 'ws': 132432}]
источник

AM

Alexander Mitichev in Tarantool
Nikolay Chudinov
задача будет такая. На вход селект  ('яблоко' ) - резальтат 3, 4
или селект ( 'груша','яблоко', 'хрень') - найдено 0
если  селект ( 'груша','яблоко') - найдено 3 и 4

p.s. Костя, а причем тут json если тут нет key:value
В последнем примере почему 3?
источник

DS

Dmitry Sharonov in Tarantool
там гиммик есть
источник

DS

Dmitry Sharonov in Tarantool
попробуйте вставить ['яблоко','яблоко']
источник

NC

Nikolay Chudinov in Tarantool
box.space.test_key.index.multikey:select('яблоко') - находит
а вот как селектить  два - хз
источник

DS

Dmitry Sharonov in Tarantool
одним запросом никак
источник

NC

Nikolay Chudinov in Tarantool
по ресурсам, как тогда лучше?
запихнуть : яблоко, груша, помидор   - в один тапл и делать мультикей индекс
или записать отдельно, т.е. в три "строки" спейса ?
Если записей около 300 млн по 3 слова в записи, то правильнее   записать именно 300 млн в мультикее,
или таки 900 млн и по такому объему искать?
источник

DS

Dmitry Sharonov in Tarantool
проще посчитать на практике, зависит от размера тапла, размера pk
источник

DS

Dmitry Sharonov in Tarantool
мультикей удобнее, но совершенно не факт что выгоднее по ресурсам
источник

NC

Nikolay Chudinov in Tarantool
Dmitry Sharonov
мультикей удобнее, но совершенно не факт что выгоднее по ресурсам
мне важно быстрый поиск, а не железо и размер индекса
источник

MA

Mons Anderson in Tarantool
Nikolay Chudinov
по ресурсам, как тогда лучше?
запихнуть : яблоко, груша, помидор   - в один тапл и делать мультикей индекс
или записать отдельно, т.е. в три "строки" спейса ?
Если записей около 300 млн по 3 слова в записи, то правильнее   записать именно 300 млн в мультикее,
или таки 900 млн и по такому объему искать?
по моей практике лучше всего по перфу работают полностью нормализованные данные, без всяких извратов типа мультикея или json-path индексов
источник

DS

Dmitry Sharonov in Tarantool
это тоже не очень сложно побенчить
источник

DS

Dmitry Sharonov in Tarantool
возможно действительно два гета в итоге будут даже быстрее чем гет по jsopath-multikey
источник

MA

Mons Anderson in Tarantool
да, но бенчать нужно на больших числах
источник

DS

Dmitry Sharonov in Tarantool
конечно, но все равно на ноуте будет показательно
источник

M

MAPC in Tarantool
Залейте пожалуйста на packagecloud версию tarantool 2.6
https://packagecloud.io/tarantool
источник

NC

Nikolay Chudinov in Tarantool
в прошлой задаче делал так:
- - [1, 'вода газ', 'вода газ яблоко', 322]
 - [2, 'вода суша', 'вода суша мыло', 221]
 - [3, 'яблоко вода', 'мыло яблоко вода', 346]
 - [4,  'яблоко вода', 'сало яблоко вода', 129]

если поиск по двум словам - 2 поле
если по трем - 3 ))
В той задаче поиск был по биграммам и униграмам - но суть не меняется
источник

MA

Mons Anderson in Tarantool
packagecloud больше не поддерживается
@Totktonada, можешь ответить более подробно как сменить репу?
источник