czy istnieje możliwość zaktualizowania nowego pola do istniejącego dokumentu? Na przykład: Istnieje dokument z kilkoma polami, np.Zaktualizuj nowe pole do istniejącego dokumentu
ID=99999
Field1:text
Field2:text
Niniejszy dokument jest już w indeksie, teraz chcę, aby wstawić nowe pole do tego dokumentu bez starych danych:
ID=99999
Field3:text
Na razie, stary dokument zostanie usunięty, a nowy dokument z identyfikatorem zostanie utworzony. Więc jeśli teraz szukać ID 99999 wynik będzie:
ID=99999
Field3:text
czytałem to w Solr Wiki
Jak mogę zaktualizować konkretnego pola istniejącego dokumentu?
Chcę zaktualizować określone pole w dokumencie, czy to możliwe? Potrzebuję tylko indeksować jedno pole dla> określonego dokumentu. Czy muszę zindeksować cały dokument w tym celu?
Nie, tylko jeden dokument. Załóżmy, że masz CMS i edytujesz jeden dokument. Będziesz musiał ponownie indeksować ten dokument tylko za pomocą instrukcji add solr dla całego dokumentu (nie tylko dla jednego pola).
W Lucene, aby zaktualizować dokument, operacja jest naprawdę kasowana, a następnie dodawana. Będziesz potrzebował>, aby dodać kompletny dokument, ponieważ nie ma takiej semantyki "zaktualizuj tylko pole" w Lucene.
Czy istnieje rozwiązanie tego problemu? Czy ta funkcja zostanie zaimplementowana w kolejnej wersji (obecnie korzystam z wersji 3.6.0). W celu obejścia tego problemu pomyślałem o napisaniu skryptu lub aplikacji, która będzie zbierała istniejące pola, dodaje nowe pole i aktualizuje cały dokument. Ale myślę, że to będzie kosztować wydajność. Czy masz jakieś inne pomysły?
poważaniem
Dzięki wielkie! Twoja pierwsza odpowiedź jest po prostu tym, o czym myślałem. Czy sądzisz, że to bardzo ucierpi na wydajności? W przypadku odpowiedzi 2: Czy możesz podać oficjalny link do tego dziennika zmian? Nie mogłem znaleźć tej funkcji. Dobry link :-) –
Zależy od tego, jak często wprowadzasz zmiany, jak duży jest twój indeks, jak duże są dokumenty, jakiego sprzętu używasz. Jakakolwiek zmiana kosztuje IO, procesor itp., Musiałbyś eksperymentować ile w twoim przypadku. W drugiej części nie mogę znaleźć tego w dzienniku: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?view=markup jednak Yonik Seeley potwierdza to w http: // grokbase.com/t/lucene/solr-user/127bc3svh7/updating-documents – Fuxi
Mój indeks zawiera około 1,8 mln dokumentów, każdy dokument ma około 10-30 pól wielowartościowych. Problem polega na tym, że rozwój aplikacji będzie kosztować zbyt dużo czasu, jeśli nie będę mógł jej użyć z powodu dużej utraty wydajności. Czy zaleca się zmianę wersji na wersję 4.0 alpha? Czy masz jakieś doświadczenie? Wielkie dzięki :-) –