2011-01-26 11 views

Odpowiedz

4

Nie możesz. Rozwiązaniem byłoby pobranie dokumentu, tymczasowe zapisanie w pamięci, usunięcie go, zaktualizowanie wymaganego pola (usunięcie, dodanie), a następnie dodanie dokumentu z powrotem do indeksu.

3

Możesz usunąć indeksowany dokument według jego id. Jeśli chcesz zmienić schemat, usuwając pole, to tak, musisz ponownie wyświetlić.

+0

+1 lub po prostu unikaj zwracania pola w formacie wyjściowym za pomocą parametru fl;) – Karussell

1

Można usunąć cały indeks używając polecenia Usuń i kwerendy tak:

java -Ddata=args -Dcommit=yes -jar post.jar "<delete><query>*:*</query></delete>" 

Stosując siłę argumentu -Dcommit zaktualizować indeks, więc należy uważać, aby nie usuwając wszystkie dokumenty, jeśli nie chcesz.

+0

W dokumentacji solr [link] (http://lucene.apache.org/solr/tutorial.html) wyjaśnij, jak usunąć jeden dokument, ale w FAQ solr wyjaśnij usunięcie przez zapytanie [link] (http://wiki.apache.org/solr/FAQ#How_can_I_delete_all_documents_from_my_index.3F) – josegil

7

Jeśli używasz Solr 4, możesz użyć AtomicUpdate http://wiki.apache.org/solr/Atomic_Updates , aby znacznie łatwiej usunąć pole. Na przykład:

curl http://localhost:8983/solr/update?commit=true -H 'Content-type:application/json' --data-binary '[{"id": "630911fa-711a-3944-b1d2-cda6857f9827", "field_to_be_removed": {"set": null}}]' 
+0

Jak mogę usunąć określone pole dla wszystkich "identyfikatorów"? Dla np. to usuwa pewne pole dla id: 630911fa-711a-3944-b1d2-cda6857f9827. Ale chcę tego wszystkiego. – Uttam

5

Można to zrobić, jeśli reszta pól są przechowywane tj stored="true " .Jak następuje poprzez ustawienie wartości zerowej.

<add> <doc>

<field name="employeeId">05991</field> // your unique key field 

    <field name="skills" update="set" null="true" /> //what ever field you want to delete 

</doc> </add>

źródło: https://wiki.apache.org/solr/UpdateXmlMessages

0

Można usuwać indeksowaną wartość w.r.t. pole w Solr, ale nie pole.

Jeśli naprawdę chcesz usunąć określone pole podczas indeksowania, powinieneś skonfigurować pole w pliku schema.xml przed zindeksowaniem dokumentu.

Powiązane problemy