Упругие не syncyinh собственных данных из MySQL

Я пытаюсь вставить записи из MySQL в эластичный. Я вставляю только две записи. ‘prod_id’ — это первичный ключ в базе данных mysql.

ниже мой запрос вставки.

$elastic->setIndex("tbl_product");
$elastic->setType("products");
//$elastic->setConnection(new MySQLiConnection());
//Where 1st param is the database connection and 2nd param is tableName
$elastic->setSqlQuery("SELECT *
FROM tbl_product
LEFT JOIN tbl_product_details ON tbl_product.prod_id = tbl_product_details.prod_id
LEFT JOIN tbl_product_seo ON tbl_product.prod_id = tbl_product_seo.prod_id
LEFT JOIN tbl_product_keywords ON tbl_product.prod_id = tbl_product_keywords.prod_id
LEFT JOIN tbl_category ON tbl_category.cat_id = tbl_product.cat_id
LEFT JOIN tbl_manufacturer ON tbl_manufacturer.manuf_id = tbl_product.manuf_id LIMIT 2000 OFFSET 18000");
$elastic->insertAllData($connection);

/ ***** Ниже приведен упругий массив после вставки ***** /

Функция поиска:

   $params = [
'index' => $this->client->getIndex(),
'type'  => $this->client->getType(),
"from" => 0, "size" => 1000,
//"scroll" => "1m",

'body'  => [
"query" => [
"bool" => [
"must" => [
[
"multi_match" => [
"fields" => ["prod_name", "prod_seo_name"],
"type" => "phrase_prefix",
"query" => $query
]
],
[
"term"=> ["cat_type_id"=>1]
]
]
]
]
],
];

$query  = $client->search($params);//return  array($this->extractResult($query),$this->extractResult($query1));
return  $this->extractResult($query);

Выше функция возвращает ниже массива. Например, я показал только два поля в массиве.

[0] => Array
(
[prod_id] => 16579
[lang_id] => 1

)
[1] => Array
(
[prod_id] =>
[lang_id] => 1

)

Во втором ‘prod_id’ является нулевым. Есть идеи, почему это происходит?

Ниже мое отображение.

'mappings' => [
'article' => [
'properties' => [
'prod_id' => [
'type' => 'integer'
],
'lang_id' => [
'type' => 'string'
],
]
]
]

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector