|
|
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Дано: 1) источник данных: Oracle(не важно в данном случае) хранит продукты(более 800тыс) и валюты, причем исходная валюта у товара может быть разной 2) sphinx - rt-index поисковая система, которая берет данные из oracle о товарах 3) валюты меняются очень быстро и товары тоже из внешних источников (пока товары попадают в сфинкс) Требуется сделать возможность сортировать товары по цене из поисковика(sphinx). PS: Проблема в том, что сфинкс не умеет делать join (так бы можно было сделать Join между валютами и товарами, обновляя на сфинке и курс валют) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 12:59 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Nrisimha, Если это не умеет делать Sphinx, то пусть делает Oracle. Create View вам в помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 14:22 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, отказались от поиска через Oracle - потому, что вьюха большая, и поиск на сайте не мерянно сильно загружает oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 15:08 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Nrisimha, Как понимаю, можно взять ID-шники из sphinx-овой выборки и сделать Oracl'у запрос where ID in (....) order by price - это по идее должен быть легкий запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 15:14 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Nrisimha, Э-э-э не понял? Зачем искать, когда Вам нужно всего лишь объединить? Т.е. в представлении просто объединяете данные по ключу/ключам. Если они проиндексированы, то операция не должна сильно загружать сервер. А уж потом это представление "скармливать" sphinx'у. Или я ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 15:54 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
mad_nazgul, т.е. если например поменялась цена валюты, то на сфинксе обновлять более миллионов записей товаров, конвертируя все допустим 10 валют и делать update на миллионы записей, учитывая что изменения валют сыплятся чуть ли не каждую секунду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 17:39 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Nrisimhaесли например поменялась цена валюты, то на сфинксе обновлять более миллионов записей товаров, конвертируя все допустим 10 валют и делать update на миллионы записей, учитывая что изменения валют сыплятся чуть ли не каждую секунду? Это что за безумная система? Если у вас цена зависит от курса валюты, это не повод её хранить в данной валюте. Наоборот, это повод её не хранить. Курсы валют вообще-то обновляются при закрытии валютной биржи, раз в день и то только рабочий. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 17:52 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Nrisimha, Ради интереса - а в чем смысл для инет-магазина (раз товары на сайте - это же инет магазин?) пересчитывать курсы раз в секунду? Вы выдали клиенту результаты поиска по одному курсу, Когда он кладет товар в корзину - курс уже другой. когда оформит заказ - третий, а когда соберется оплачивать - страшно подумать что будет :) Может, я чего-то не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 18:02 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Ну почему, цену в валюте как раз полезно хранить - другой вопрос что курс для пересчета фиксировать чаще чем раз в день действительно непонятно зачем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 18:04 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинНу почему, цену в валюте как раз полезно хранить Текущую и зависящую от курса? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 18:19 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Тут у нас некоторое непонимание. Вот у товара есть цена в валюте - 20USD. Итоговая цена в рублях зависит от курса USD? - Зависит. Нужно ли хранить цену в данной валюте (то бишь в USD)? - Нужно. Хотя бывает полезно хранить даже обе цены - для инкапсуляции. Модуль продаж не будет зависеть от того, как надо считать ту или иную цену, зависит она от ваалюты или нет - он тупо показывает предрассчитанную [каким-то другим модулем] цену в рублях. а этому другому модулю - конечно нужна цена в USD как один из входных параметров. Но это уже, конечно, зависит от архитектуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 18:32 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинТут у нас некоторое непонимание. Вот у товара есть цена в валюте - 20USD. Ну да, недопонимание. Цена всегда в какой-то валюте. Рубли - тоже валюта (как ни странно). И это цена поставщика (плюс наценки и т.п.). В валюте поставщика. Её, конечно, хранить надо. Но она не зависит от курса совершенно. Потому что назначена поставщиком. Но раз аффтар что-то предполагает апдейтить при изменении курса, значит у него хранится какая-то другая цена. Непонятно зачем. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2013, 18:58 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Nrisimhamad_nazgul, т.е. если например поменялась цена валюты, то на сфинксе обновлять более миллионов записей товаров, конвертируя все допустим 10 валют и делать update на миллионы записей, учитывая что изменения валют сыплятся чуть ли не каждую секунду? Зачем?! Это делается автоматом в представлении (View). Просто перечитать представление и все. Или я опять вас не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 08:12 |
|
||
|
sphinx+бд+сортировка товаров по курсу валют
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovКот МатроскинТут у нас некоторое непонимание. Вот у товара есть цена в валюте - 20USD. Ну да, недопонимание. Цена всегда в какой-то валюте. Рубли - тоже валюта (как ни странно). И это цена поставщика (плюс наценки и т.п.). В валюте поставщика. Её, конечно, хранить надо. Но она не зависит от курса совершенно. Потому что назначена поставщиком. Но раз аффтар что-то предполагает апдейтить при изменении курса, значит у него хранится какая-то другая цена. Непонятно зачем. Я понял так: Есть товар с ценой в валюте А. Нужно передать сфинксу товар с ценой в валюте А, В, С и т.д. Если количество валют стабильно (например только А, В, С) То достаточно создать представление где будет показана Дата-время, Товар, Цена в валюте А, Цена в Валюте В, Цена в валюте С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2013, 08:17 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38136109&tid=1541387]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 199ms |
| total: | 334ms |

| 0 / 0 |
