2013-04-29 9 views
5

Chciałbym wykonać zapytanie solr i uzyskać tylko zdefiniowany przeze mnie klucz uniquKey.
Dokumenty są bardzo duże, więc definiowanie fl = "my_key" nie jest wystarczająco szybkie - wszystkie pasujące dokumenty są nadal skanowane, a zapytanie może trwać wiele godzin (nawet jeśli samo wyszukiwanie było szybkie - numFound wymaga kilku sekund na zwrot).
Należy wspomnieć, że wszystkie dane są przechowywane, a tworzenie nowego indeksu nie jest opcją.zapytanie solr - wyniki bez skanowania plików

Jedną z moich pomysłów było zdobycie dokumentacji wyników i zamapowanie ich na my_key w kodzie.
Użyłem fl = [docid], myśląc, że nie potrzebuje skanowania, aby uzyskać te informacje, ale powrót do niego trwa zbyt długo.

Czy istnieje lepszy sposób uzyskania dokumentów?
Albo sposób na odznaczenie niektórych pól bez ponownego indeksowania?
Lub perhapse inny sposób, aby uzyskać wyniki bez skanowania wszystkich pól?

Dzięki,

Dafna

+0

Miałem bardzo podobne problemy! nie mogłem jednak znaleźć sposobu, żeby to przygwoździć. Mam nadzieję, że ktoś miał lepsze doświadczenie z tym ... – Yonatan

+0

dlaczego wyszukiwanie jest wolne? czy rozmiar indeksu jest ogromny? i zapytanie przeszukujące wiele pól? – Jayendra

Odpowiedz

0

przykro, ale to jedyny sposób, aby przełamać swoje gigantyczne dokumentów w więcej niż jeden. Nie widzę, jak będzie możliwe dopasowanie tylko określonych pól i pozostawienie dokumentów w spokoju. Nie tak działa Lucene.

Można utworzyć dokument, który używał tylko indeksowanych pól, które są potrzebne do zapytania, aby ułatwić pracę, lub złamać dokument na podstawie potrzebnych zapytań. Lub po prostu dodawanie kolejnych dokumentów o strukturze potrzebnej do nowych zapytań. To zależy od Ciebie.