Невозможно создать индекс в Elasticsearch - PullRequest
0 голосов
/ 26 февраля 2019

Я новичок в Elasticsearch, поэтому знаю, что что-то забыл, но не знаю, что.

Я запустил этот код:

error_reporting(E_ALL);
ini_set('display_errors', 1);

require 'vendor/autoload.php';

use Elasticsearch\ClientBuilder;

$client = ClientBuilder::create()->build();
$params = [
  'index' => 'my_index'
];

// Create the index
$response = $client->indices()->create($params);

Но получил эту ошибку:

{
  "error": {
    "root_cause": [
      {
        "type":"index_not_found_exception",
        "reason":"no such index",
        "resource.type":"index_or_alias",
        "resource.id":"elasticsearch-i.php",
        "index_uuid":"_na_",
        "index":"elasticsearch-i.php"
      }
    ],
    "type":"index_not_found_exception",
    "reason":"no such index",
    "resource.type":"index_or_alias",
    "resource.id":"elasticsearch-i.php",
    "index_uuid":"_na_",
    "index":"elasticsearch-i.php"
  },
  "status":404
}

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Есть несколько причин, по которым индекс не сохраняется.Сначала проверьте состояние кластераasticsearch, а затем попробуйте создать индекс для любого клиента.

Проверьте состояние Elasticsearch

Состояние или состояние кластера

curl -X GET "localhost:9200/_cluster/health"

ИЛИ

curl -X GET "localhost:9200/_cluster/state"

ИЛИ

curl -X GET "localhost:9200/_nodes/stats"

Создание индекса с использованием curl

curl -X PUT "localhost:9200/twitter"

Вот простой код, который можно создать с помощью php:

$client = ClientBuilder::create()->build();
$params = [
    'index' => 'twitter_2'
];

$response = $client->indices()->create($params);

Для получения более подробной информации обратитесь к https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_index_management_operations.html

0 голосов
/ 26 февраля 2019

Я еще не создал индекс на самом сервере Flexiblesearch.

Мне нужно сначала создать его, прежде чем я смогу получить к нему доступ в php-api

Для этого я запускаю:

curl -X PUT -x  "" "http://127.0.0.1:9200"/test

в командной строке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...