ThinkingSphinx::Search колекция микс с някои пресни ActiveRecord данни

Използваме няколко сървъра със Sphinx като отделен слой, за да осигурим търсенето. Индексаторът работи от cron независимо, за да намали потока от данни и свързването при индексиране при търсене.

Съгласно изискванията трябва да осигурим търсене в реално време (без никакви забавяния), затова решихме да запазим резултата от Sphinx, който се преиндексира на всеки 40 минути и да се смесва с нови действителни данни от модела ActiveRecord въз основа на колона updated_at, всъщност не по-стари от 40мин. Това означава, че имаме действителни данни, без да използваме делта функционалност (която добавя някакъв вид свързване).

Въпросът е как можем да обединим ThinkingSphinx::Search резултат и ActiveRecord данни, за да направим подреждане и пагиниране на целия набор от данни. Възможно ли е това?


person Anatoly    schedule 28.02.2012    source източник


Отговори (1)


Трябва да опитате индекси в реално време.

person Дмитрий Тягунов    schedule 28.02.2012
comment
работят ли вече индексите в реално време с ThinkingSphinx? Дмитрий, изглежда нямаш опит с него, просто виж github.com/freelancing- god/thinking-sphinx/issues/186 - person Anatoly; 28.02.2012
comment
О, съжалявам, не обърнах внимание на факта, че използвате ThinkingSphinx. Но използването на RT индекси е най-доброто решение за вашата задача и е много тъжно, че тази функционалност не е внедрена в ThinkingSphinx. Може би трябва да използвате някакъв делта индекс и да го въртите всеки път, когато се появи нов запис? Просто не виждам смисъл да се опитвате да комбинирате нещата, които искате. - person Дмитрий Тягунов; 28.02.2012
comment
Работя върху RT индекси - не е лесно да превключите нещата. Междувременно вероятно трябва да разгледате поддръжката на TS за делта индексиране: freelancing-god .github.com/ts/en/deltas.html - person pat; 29.02.2012