Упругая индексация поиска в php - PullRequest
0 голосов
/ 07 октября 2019

У меня есть приложение codeigniter, в котором я пытаюсь настроить эластичный поиск, у меня есть json, который выглядит следующим образом:

    {
    "took": 4,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 1,
            "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
            {
                "_index": "features",
                "_type": "liste",
                "_id": "test",
                "_score": 1.0,
                "_source": {
                    "mnuActiveSection": "securite.features",
                    "rowsFeatures": [
                        {
                            "id": "50",
                            "idCategory": "5",
                            "Name": "01- Data",
                            "FeatureCategory": "Serie",
                            "NombrePrivileges": "9",
                            "ListePrivileges": "Admin"
                        },
                        {
                            "id": "51",
                            "idCategory": "5",
                            "Name": "02- Data 2",
                            "FeatureCategory": "Documentary",
                            "NombrePrivileges": "3",
                            "ListePrivileges": "Direction"
                        },
                        {
                            "id": "52",
                            "idCategory": "5",
                            "Name": "03- Data 3",
                            "FeatureCategory": "Films",
                            "NombrePrivileges": "7",
                            "ListePrivileges": "Super Admin"
                        }
                    ]
                }
            }
        ]
    }
}

Я хотел бы отобразить список функций в моем представлении и выполнить поискдокументы с помощью упругого поиска. к сожалению, я не могу отобразить данные json.

Это не то, что мне понравится, потому что у меня сложилось впечатление, что все мои данные сгруппированы в один массив объектов. Для этого я стараюсь использовать «foreach», но, к сожалению, я не получаю то, что ищу. Я застрял на этом этапе. Я бы хотел, чтобы у каждой информации в моей таблице был свой _ид, например, чтобы лучше их визуализировать.

public function liste()
{

    $data["mnuActiveSection"] = "securite.features";

    $Finder = new FeaturesFinder();
    $data["rowsFeatures"] = $Finder->FindAll();
    $this->load->library('elasticsearch');

    foreach($data["rowsFeatures"] as $d){
        $this->elasticsearch->index = 'features';
        $this->elasticsearch->create();
        $this->elasticsearch->add($type ='liste',$id = 'test',$data);
        var_dump($d);  
    }
}

Если кто-нибудь может помочь мне найти интересующий меня трек.

благодарюты очень

1 Ответ

0 голосов
/ 08 октября 2019

Я думаю, что вы пытаетесь сделать это:

$i = 0;
    foreach($data["rowsFeatures"] as $d){
        $i++;
        $this->elasticsearch->index = 'features';
        $this->elasticsearch->create();
        $this->elasticsearch->add($type ='liste',$id = $i,$data);
        var_dump($d);  
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...