Ocenianie postów i ich wyszukiwarka - jak to ogarnąć?

0

Jak dobrze ogarnąć ocenianie np postu. Tworzyć dla każdego postu nową tabele z ocenami użytkowników (każdy rekord = ocena jakiegos usera) później dodać jakiegoś timera co w nocy będzie obliczał średnią dla każdego postu i aktualizował kolumnę postu z aktualna ocena? Czy na bieżąco aktualizować ocenę w poście tylko że wtedy może powstać rozjazd gdy 2 na raz będzie oceniało i któraś ocena zostanie pominięta ?

Druga sprawa jak ogarnąć wyszukiwarkę po tytułach postów? Wpisanie każdej litery będzie dopasowywało tytuły, czy zrobić to łopatologicznie user wpisuje frazę klika wyszukaj leci zapytanie do bazy o posty zawierające w tytule frazę?
Najlepiej by było coś na zasadzie jak ma google podczas wpisywania podpowiadanie (czy to już za dużo zachodu?)

0

Jak to zrobić - możesz zobaczyć chyba źródła coyote które napędza to forum (https://github.com/adam-boduch/coyote). Pomimo tego, że jakoś szczególnie w źródła nie zaglądałem - to na pewno ocena jest zapisywana w jakiejś tabeli per użytkownik. Dzięki temu potem dany użytkownik widzi że ocenił jakiś post, a sam licznik przy poście by tego nie załatwił - w sensie kto i kiedy ocenił. Obliczanie oceny co jakiś czas będzie nieciekawe dla użytkowników, mógłbys tu lepiej zastosować procedurę w bazie, która po każdym dodaniu oceny aktualizowałaby licznik autora wybranego posta.

Wyszukiwarka - jeśli tych postów będą tysiące - to autocomplete (bo chyba o to Ci chodziło) będzie raczej zbędny. Lepiej skupić się na tym by wyniki były jak najbardziej dopasowane do wyszukiwanej frazy. A jeśli chcesz mieć tak jak google - to chyba będziesz miał bardzo sporo dużo zachodu :)

0

niestety procedura czy triggery nie za bardzo bo baza której używam to cassandra

0

chyba rozwiaze to tak:
zrobie wątek który będzie dostawał na kolejke głosowania userów i ten wątek będzie sam aktualizował ocenę danego postu.
Unikne pominięcia jakieś oceny lub niespójności podczas oceniania asynchronicznego. Tylko co w przypadku gdy aplikacja serwerowa będzie działać w klastrze...

0

dla każdego postu nową tabele z ocenami u
...rozjazd...
itd...

Ratunku!!! Nie moge Ci pomóc bo jak to czytam to wywraca mi się "musk".
Po pierwsze to jaki ty ruch i ile danych masz obsłużyć?
Po drugie jak już masz cassandrę ( budujesz forum od razu przewidzine na całą galaktykę ? ładnie) - to weź przeczytaj tutoriale tam znajdziesz odpowiedź jak zrobić licznik.
Po trzecie druga część - to zobacz sobie lucynę (Lucene). Takie rzeczy robi się też na SOLr (ale tam pod spodem jest lucyna).

1 użytkowników online, w tym zalogowanych: 0, gości: 1