[thinking_sphinx] unknown local index 'article_core' in search request

Witam
Mam dwa modele gdzie zdefiniowany jest index, jeden z nich to Article. Na localhoście wszystko chodzi ładnie, natomiast na hostingu w trybie development dla szukanej frazy dostaję błąd:

unknown local index ‘article_core’ in search request

W db/sphinx/development/ jest pełny zestaw plików article_core.xxx. Jest także config/development.sphinx.conf. Próbowałem odpalać z rake index, reindex, stop, start itp

Z konsoli na hostingu odpaliłem wyszukiwanie np.

search -c config/development.sphinx.conf -i article_core polityka

I zwróciło ładnie wynik, bez żadnych błędów

Odpalasz w trybie production? Jeśli tak to musisz wygenerować odpowiedni config, bodajże RAILS_ENV=production rake ts:config.

nie, w development narazie no i na localhoscie, mam tam osobne srodowisko localhost.
mam w production odpalone ale tylko dla indeksu w jednym modelu i tam narazie nie ruszam zeby nie zepsuc :), dla każdego środowiska jest oczywiście config, zreszŧą używam go jako wartosci dla parametru -c gdy odpalam z konsoli wyszukiwanie, czyli bezpośrednio Sphinxa, bez udziału railsów i wtedy błędów nie ma

Najpierw napisałeś “na hostingu w trybie development” a później “mam w production odpalone ale tylko dla indeksu w jednym modelu i tam narazie nie ruszam zeby nie zepsuc”

Zgubiłem się :slight_smile:

Spróbuj

RAILS_ENV=production rake ts:rebuild

bo jednak wygląda na to, że działasz w trybie produkcyjnym a nie zbudowałeś indeksu.

tak, ponieważ na production działa ale tylko dla indeksu w jednym modelu, natomiast w development (tak, na hostingu, bo na localu mam srodowisko localhost) gdy mam ten dodatkowy index w articles dostaje błąd jw

Nic z tego nie kumam ;-). Dla mnie komunikat błędy jest oczywisty i pierwsze co powinieneś zrobić to rebuild - zrobiłeś go?.

nie raz :slight_smile: sprawdzałem i pliki article_core.xxx tworzą się

Próbuję się podłączyć z railsami do istniejącego indeksu, wykonanego kiedyś z konta roota (czy to w ogóle ma sens czy lepiej unikać?).

Dostaje taki komunikat, kiedy chcę uzyskać dostęp do indeksu nazwie, powiedzmy. xxx , który odpowiada modelowi Article.

Nie wiem czy to dobre podejście w ogóle, ale nie chciałbym generować nowych indeksów sphinxa dla RoR. Czy da się korzystać z thinking_sphinx z użyciem indeksów które znajdują się w kompletnie innej lokalizacji na serwerze niż aplikacja, i zostały stworzone ręcznie wcześniej ? Czy w ogóle takie podejście ma sens, czy lepiej korzystać z tego co daje TS w RoR i budować index na nowo?

problem jest taki, że mam gigantyczną bazę danych , index dla tylko jednej kolumny (ale najwiekszej) w jednej tabeli zajmuje 2 GB. Nie chce ich powielac, wolalbym zrobic i utrzymywac tylko jeden taki indeks, a aplikacje Rails po prostu “podpiac” do niego, pytanie jak to zrobic?