Подтвердить что ты не робот

Как загрузить файл в Solr в Windows?

Мне нужно проверить, что извлечение текста работает над установкой Solr в Windows Server 2003. Все примеры, которые я нашел для загрузки файлов в Solr, используют завиток, как показано ниже.

curl "http://localhost:8983/solr/update/extract?&extractOnly=true"  --data-binary @tutorial.html  -H 'Content-type:text/html'

Как я могу сделать это в Windows? Я хочу протестировать загрузку документа PDF и Word, а затем подтвердить, что я могу искать слова, содержащиеся в документе, используя страницу администрирования Solr.

4b9b3361

Ответ 1

В примерах появляется post.jar (см. папку example\exampledocs apache-solr-X.X.X.zip):

java -jar post.jar -h

This is a simple command line tool for POSTing raw data to a Solr
port.  Data can be read from files specified as commandline args,
as raw commandline arg strings, or via STDIN.
Examples:
  java -jar post.jar *.xml
  java -Ddata=args  -jar post.jar '<delete><id>42</id></delete>'
  java -Ddata=stdin -jar post.jar < hd.xml
  java -Durl=http://localhost:8983/solr/update/csv -Dtype=text/csv -jar post.jar *.csv
  java -Durl=http://localhost:8983/solr/update/json -Dtype=application/json -jar post.jar *.json
  java -Durl=http://localhost:8983/solr/update/extract?literal.id=a -Dtype=application/pdf -jar post.jar a.pdf
Other options controlled by System Properties include the Solr
URL to POST to, the Content-Type of the data, whether a commit
or optimize should be executed, and whether the response should
be written to STDOUT. These are the defaults for all System Properties:
  -Ddata=files
  -Dtype=application/xml
  -Durl=http://localhost:8983/solr/update
  -Dcommit=yes
  -Doptimize=no
  -Dout=no

ИЛИ

У Windows PowerShell 3.0 есть команда Invoke-WebRequest, которая наверняка может быть использована для этого. См. этот пост в блоге.

Invoke-WebRequest

Ответ 2

С помощью solr 5.0 вы должны указать имя ядра при обновлении документов. Таким образом, команда для публикации всех примеров в exampledocs будет:

java -Dc = "core_name" -jar post.jar *.xml

здесь замените core_name на имя ядра

Ответ 3

Может иметь следующие параметры -

  • URL-адрес FireWire из браузера с использованием параметра stream.file(stream.url для удаленных URL-адресов), который указывает на файл в локальной файловой системе, например. sample_url
  • Установите cgywin/curl для окон, которые помогут вам запустить эти URL.
  • Напишите короткую программу, используя Solrj (или любой другой клиент solr), чтобы опубликовать эти документы.

Ответ 4

Вы можете попробовать использовать плагин Firefox Poster.. Я попробовал пару скачиваний, и они отлично работали:)

Ответ 5

Вы можете попробовать следующее:

C:\Java\Libs\apache-solr-4.0.0-BETA\example > "C:\Program Files (x86)\Internet Explorer\iexplore.exe" "http://localhost: 8983/solr/collection1/обновление фиксации = True &? stream.contentType = текст /CSV, кодировка = UTF-8 & Амп; stream.file = С:/Java/Libs/apache-solr-4.0.0-BETA/example/exampledocs/listado_talleres_new.csv"

Ответ 6

Если вы хотите использовать команду cURL для отправки файлов в solr, вам необходимо загрузить эту утилиту из cURL Home. Укажите путь cURL.exe в пути относящуюся к окружающей среде переменную окна, а затем вы можете использовать команду, запрошенную для

curl "http://localhost:8983/solr/update/extract?&extractOnly=true" --data-binary @"location of file/test.pdf" -H 'Content-type:application/pdf'

то есть. вам необходимо изменить тип содержимого.

Другой способ опубликовать каталог в Solr - с помощью утилиты "post.jar" в каталоге примеров Solr - помните, что эта утилита не используется для производства.

Вот пример команды.

   java -Ddata=files -Dtype=html -Dfiletypes=htm,html -Dauto=yes -Drecursive=yes -jar post.jar "Drive_letter:\yourpath\."

Вышеописанное прекрасно работает с Solr 4.0

Ответ 7

Используя Solr 6.1 в Windows, я смог рекурсивно индексировать папку с помощью SimplePostTool из файла solr-core-x.y.z.jar следующим образом:

java -classpath C:\Solr\solr-6.1.0\dist\solr-core-6.1.0.jar -Dauto=yes -Dc=yourcorename -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool C:\Solr\solr-6.1.0\docs

Вам нужно будет заменить "C:\Solr\solr-6.1.0 \" на вашу папку solr, указать правильный номер версии для solr-core-6.1.0.jar, установить папку в папку с файлом вы хотите индексировать и гарантировать, что ядро ​​уже существует.

Ответ 8

В Windows я использую эту команду:

java -classpath %SOLR_HOME%\dist\solr-core-6.5.1.jar -Dauto=yes -Dc=books -Ddata=files -Drecursive=yes org.apache.solr.util.SimplePostTool c:\apache-solr-6.5.1\server\solr\books\data\index\*.*

Ответ 9

Чтобы сделать это с помощью Powershell, выполните следующую команду:

$header =  @{"Content-type"="text/plain"; "charset"="utf-8"};

Invoke-WebRequest -Uri http://localhost:8983/solr/YOUR_CORE_NAME/update/csv -Headers $header -InFile "C:\data.csv" -Method Post