我是Elasticsearch的新手,所以我的知识只来自elasticsearch网站,我需要帮助。我的任务是索引我的应用程序中的所有文件。我的问题是将所有文件索引到elasticsearch的最简单方法是什么?我是否应该为每个文件手工制作以使弹性请求变得有弹性?和文件详细信息array($filesdata)
就像..
Array
(
[0] => Array
(
[Library] => Array
(
[id] => 6
[org_id] => 5
[name] => nagesh1.doc
[version] => 1
[description] =>
[type] => txt
[category_id] =>
[status] => Active
[parent_type] => 25
[parent_id] => 4
[parent_status] =>
[assigned_user_id] => 21
[assigned_user_group_id] =>
[permissions] => 261510
[deleted] => 0
[created_id] => 21
[created] => 2014-02-19 07:08:38
[modified_id] =>
[modified] => 2014-02-19 07:08:38
)
[AssignedUser] => Array
(
[first_name] => abc
[middle_name] =>
[last_name] => def
)
[CreatedBy] => Array
(
[first_name] => abc
[middle_name] =>
[last_name] => def
)
[ModifiedBy] => Array
(
[first_name] =>
[middle_name] =>
[last_name] =>
)
[RelatedTo] => Array
(
[name] => E-Mails
)
[PickListValue] => Array
(
[value] =>
)
[LibraryVersion] => Array
(
[0] => Array
(
[version] => 1
[file_name] => nagesh1.doc
[file_ext] => txt
[file_mime_type] =>
[file_url] => \files\test\documents\emails\
[file_uuid] => 13927937171.txt
[library_id] => 6
)
)
)
[1] => Array
(
[Library] => Array
(
[id] => 7
[org_id] => 5
[name] => Resume.doc
[version] => 1
[description] =>
[type] => txt
[category_id] =>
[status] => Active
[parent_type] => 25
[parent_id] => 4
[parent_status] =>
[assigned_user_id] => 21
[assigned_user_group_id] =>
[permissions] => 261510
[deleted] => 0
[created_id] => 21
[created] => 2014-02-19 07:08:38
[modified_id] =>
[modified] => 2014-02-19 07:08:38
)
[AssignedUser] => Array
(
[first_name] => abc
[middle_name] =>
[last_name] => def
)
[CreatedBy] => Array
(
[first_name] => abc
[middle_name] =>
[last_name] => def
)
[ModifiedBy] => Array
(
[first_name] =>
[middle_name] =>
[last_name] =>
)
[RelatedTo] => Array
(
[name] => E-Mails
)
[PickListValue] => Array
(
[value] =>
)
[LibraryVersion] => Array
(
[0] => Array
(
[version] => 1
[file_name] => Resume.doc
[file_ext] => txt
[file_mime_type] =>
[file_url] => \files\test\documents\emails\
[file_uuid] => 13927937172.txt
[library_id] => 7
)
)
)
)
by looping this array iam indexing all files individually like below
$post_data = "";
foreach($librariesdata as $libdata){
foreach($libdata['LibraryVersion'] as $librarydata){$filepath='http://'.$_SERVER['HTTP_HOST'].$librarydata['file_url'].$librarydata['file_uuid'];
if($action!='DELETE'){
$fileContent = $this->curlFileGetContents($filepath);
$fileContentencode = base64_encode($fileContent);
if(!empty($bulk)){
$post_data .=<<<END
{"index":{"_index":"$this->elastic_index_id","_type":"library","_id":"{$librarydata['file_uuid']}"}}
END;
unset($type);
}
$librarydata['parent_type'] = $libdata['Library']['parent_type'];
$librarydata['parent_id'] = $libdata['Library']['parent_id'];
$librarydata['assigned_user_id'] = $libdata['Library']['assigned_user_id'];
$librarydata['modified_id'] = $libdata['Library']['modified_id'];
$librarydata['AssignedUser'] = $libdata['AssignedUser']['first_name'];
$librarydata['Created'] = $libdata['Library']['created'];
$librarydata['CreatedBy'] = $libdata['CreatedBy']['first_name'];
$librarydata['Modified'] = $libdata['Library']['modified'];
$librarydata['ModifiedBy'] = $libdata['ModifiedBy']['first_name'];
$librarydata['RelatedTo'] = $libdata['RelatedTo']['name'];
$librarydata['file']= $fileContentencode;
$multiple[$l]= $librarydata;
$post_data .= "\r\n" . json_encode($multiple[$l]) . "\r\n";
}
$l++;
}
my question is how can index the bulk files by using FSriver plugin above scenario.