Obecnie używam pliku XML w Solr. I index danych pliku XML za pomocą DataimportHandler z XPathentityProcessor.import danych z JSON w Solr
Teraz chcę zaimportować dane z pliku json.
Czy istnieje przykład?
Pozdrowienia, Sagar
Obecnie używam pliku XML w Solr. I index danych pliku XML za pomocą DataimportHandler z XPathentityProcessor.import danych z JSON w Solr
Teraz chcę zaimportować dane z pliku json.
Czy istnieje przykład?
Pozdrowienia, Sagar
Co potrzebne jest coś
zaczerpnięte z przykładucurl 'http://localhost:8983/solr/update/json?commit=true' --data-binary @books.json -H 'Content-type:application/json'
.
DataImportHandler nie pozwalają na użycie JSON jako źródło. Jedynym sposobem jest użycie Update Handler, który może obsługiwać JSON natywnie. Ale musi to być the JSON structure Solr expects (tablica skrótów lub mieszania poleceń/skrótów).
Dziękuję za odpowiedź, widzę ten adres URL, który podałeś. Ale w tym przy użyciu curl.I nie chcesz używać żadnego wiersza polecenia. Czy możliwe jest uzyskanie danych z pliku json bezpośrednio z adresu URL? czy coś takiego w tym stylu? –
Ale jest twój adres URL w postaci Solr może parsować (link powyżej). Jeśli nie, utkniesz. Jeśli tak, możesz skorzystać z [stream.URL] (https://wiki.apache.org/solr/ContentStream) –
Link został przeniesiony do: https://cwiki.apache.org/confluence/display/solr/Uploading + Data + with + Index + Handlers # UploadingDatawithIndexHandlers-JSONFormattedIndexUpdates –
jeśli nie chcesz użyć komendy curl, można odpalić polecenie bezpośrednio w przeglądarce i uzyskać pożądany rezultat:
http://`localhost`:8983/solr/update/json?commit=true --data-binary @books.json -H 'Content-type:application/json'
umieścić plik json w/przykład/exampledocs folder.This jest domyślny katalog ścieżka w solr. Jeśli używasz java lub php itp., Istnieje kilka klas i metod, których używasz, a następnie nie będziesz musiał wymieniać całego polecenia, jak powyżej. Czy to, o co prosiłeś?
Możesz używać REST api do wysyłania danych do Solr. Proszę używać tej ścieżki:
localhost:8983/solr/simple2/update?commit=true
//(simple2 is the core name and localhost:8983 is server path.)
i trzeba zdefiniować
:content_type => 'application/json'
na żądanie header.Along z nim można wysłać plik/json danych SOLR użyciu żądania POST.
Więcej informacji można znaleźć http://geekdirt.com/blog/indexing-in-solr-using-json-and-rest-apis/
Można również aktualizować swoje dokumenty przez w tym? Popełnić = true oświadczenie w url zwinięcie poleceniem tak.
curl -X POST -H "Content-Type: application/json" -u "{usernamne}":"{password}" "https://your_host/solr/your_collection/update/json?commit=true" --data-binary @/path/to/your/data/your_data.json
Jeśli chcesz importować część lub całą kolekcję z formatu json, cóż, jest alternatywa.
napisałem narzędzie Java: https://github.com/freedev/solr-import-export-json
Jest to aplikacja Java, który importuje i eksportuje zbiór Solr użyciu SolrJ
. Każdy dokument musi być obiektem json, a importowany plik musi zawierać listę linii, podczas gdy każda linia jest obiektem json.
{ "id": 1, "date": "20160101T00:00:00", "text": "some text" }
{ "id": 2, "date": "20160102T00:00:00", "text": "some text" }
{ "id": 3, "date": "20160103T00:00:00", "text": "some text" }
Nie próbowałem z zagnieżdżonymi dokumentami, a klucze dokumentu json powinny być dokładnie nazwami pól Solr.
w powyższym adresie URL, jak korzystać z tego pliku json? Mam na myśli, jak zapewnić ścieżkę tego pliku json. i czy możemy go użyć przez URLDatasource? –
Chcę zrobić żądanie z adresu URL, nie chcę używać curl. Czy jest jakiś sposób, aby to osiągnąć? –
@SagarJoshi masz na myśli jak przesłać formularz z danymi jako json do solr? –