Поиск не работает в Ingest Processor в ElasticSearch
Вот код сопоставления
public function ingest_processor_mapping()
{
$client = \Elasticsearch\ClientBuilder::create()->build();
$params = [
'id' => 'attachment',
'body' => [
'description' => 'Extract attachment information',
'processors' => [
[
'attachment' => [
'field' => 'content',
'indexed_chars' => -1
]
]
]
],
];
return $client->ingest()->putPipeline($params);
}
Результат ::
{
"acknowledged": true
}
Вот мой код индексации в PHP
public function ingest_processor_indexing()
{
$client = \Elasticsearch\ClientBuilder::create()->build();
$fullfile = public_path().'/uploads/files/bower.pdf';
$params = [
'index' => 'ingest_index',
'type' => 'attachment',
'id' => 'document_id',
'pipeline' => 'attachment', // <----- here
'body' => [
'content' => base64_encode(file_get_contents($fullfile)),
'file_path' =>$fullfile,
]
];
return $client->index($params);
}
Результат ::
{
"_index": "ingest_index",
"_type": "attachment",
"_id": "document_id",
"_version": 2,
"result": "updated",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": false
}
Вот мой код поиска в PHP:
public function ingest_processor_searching()
{
$client = \Elasticsearch\ClientBuilder::create()->build();
$params = [
'index' => 'ingest_index',
'type' => 'attachment',
'body' => [
'query' => [
'match' => [
'content' => 'dhaka'
]
],
]
];
$response = $client->search($params);
print_r($response['hits']['hits']);
}
Результат ::
Array( )
Извиняюсь, я что-то напутал. Не могли бы вы помочь мне, чтобы каждый мог получить лучший ответ?
Задача ещё не решена.
Других решений пока нет …