Индексировать содержимое файла PDF с помощью Apache Solr

Я использую Solrрасширение php для взаимодействия с Apache Solr. Я индексирую данные из базы данных. Я также хотел проиндексировать содержимое внешних файлов (таких как PDF, PPTX).

Логика для индексации: Предположим,schema.xml определены следующие поля:

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
<field name="created" type="tlong" indexed="true" stored="true" />
<field name="name" type="text_general" indexed="true" stored="true"/>
<field name="filepath" type="text_general" indexed="false" stored="true"/>
<field name="filecontent" type="text_general" indexed="false" stored="true"/>

Отдельная запись в базе данных может / не может иметь сохраненный файл.

Следовательно, мой код для индексации следующий:

$post = stdclass object having the database content
$do,c = new SolrInputDocument();
$doc->addField('id', $post->id);
$doc->addField('name', $post->name);
....
....
$res = $client->addDocument($doc);
$client->commit();

Далее я хочу добавить содержимое файла PDF в тот же документ, что и выше.

Этоcurl код:

$ch = curl_init('
http://localhost:8010/solr/update/extract?');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, array('myfile'=>'@'.$post->filepath));
$result= curl_exec ($ch);

Но, думаю, я что-то упустил. Я прочиталдокументация, но я не могу найти способ извлечь содержимое файла и затем добавить его в существующий документ solr вfield: filecontent

РЕДАКТИРОВАТЬ # 1: Если я попытаюсь установитьliteral.id=xyz в запросе curl создается новый документ solr, имеющийid=xyz, Я не хочу создавать новый документ Solr. Я хочу, чтобы содержимое pdf было проиндексировано и сохранено в виде поля в ранее созданном документе solr.

$doc = new SolrInputDocument();//Solr document is created
$doc->addField('id', 98765);//The solr document created above is assigned an id=`98765`
....
....
$ch = curl_init('
http://localhost:8010/solr/update/extract?literal.id=1&literal.name=Name&commit=true');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, array('myfile'=>'@'.$post->filepath));
$result= curl_exec ($ch);

Я хочу вышеуказанный документ solr (id = 98765) иметь поле, в котором содержимое pdf индексируется и сохраняется.

Но запрос cURL (как указано выше) создает другой новый документ (сid = 1). Я не хочу этого

Ответы на вопрос(1)

Ваш ответ на вопрос