Heim >PHP-Framework >Laravel >Über die richtige Haltung bei der Verwendung von es in Laravel

Über die richtige Haltung bei der Verwendung von es in Laravel

藏色散人
藏色散人nach vorne
2020-09-19 09:13:045802Durchsuche

Die folgende Tutorial-Kolumne von Laravel führt Sie in die richtige Haltung bei der Verwendung von es in Laravel ein. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!

Über die richtige Haltung bei der Verwendung von es in Laravel Die unterste Ebene von

Lastic ist die Open-Source-Bibliothek Lucene. Sie können Lucene jedoch nicht direkt verwenden, Sie müssen Ihren eigenen Code schreiben, um seine Schnittstelle aufzurufen. Elastic ist ein Paket von Lucene und bietet eine REST-API-Betriebsschnittstelle, die sofort verwendet werden kann.

Kursempfehlung →:

"Elasticsearch Full Text Search Practical Combat"
(Praktisches Video)

Aus dem Kurs"Ten Million Level Data Concurrency Solution (Theory + Practical Combat)"

ES und Mysql

Das Konzept in ES ist analog zu Mysql, wie in der folgenden Abbildung dargestellt:


laravel 使用 es 的正确姿势Invertierter Index

Bevor wir über den invertierten Index sprechen, wollen wir zunächst darüber sprechen, was ein Vorwärtsindex ist. Der Vorwärtsindex wird auch als „Vorwärtsindex“ bezeichnet und ist die Grundlage für die Erstellung eines invertierten Index. Wie oben erwähnt, müssen bei der Abfrage, in welchen Dokumenten ein Schlüsselwort enthalten ist, alle Dokumente gescannt werden, um sicherzustellen, dass es keine Auslassungen gibt. Dies verlängert die Abrufzeit erheblich und verringert die Abrufeffizienz. Zu diesem Zeitpunkt verwendeten wir den invertierten Index und segmentierten das Dokument zunächst in Wörter.


Zum Beispiel wollen wir abfragen, in welchen Dokumenten das Stichwort „Suchmaschine“ vorkommt. Zuerst können wir den invertierten Index verwenden, um die Dokumentpositionen abzufragen, an denen das Schlüsselwort in 1 und 3 vorkommt. Anschließend können wir den Inhalt der Dokumente 1 und 3 über den Vorwärtsindex abfragen und die Ergebnisse zurückgeben. laravel 使用 es 的正确姿势

laravel 使用 es 的正确姿势
Laravel verwendet ES

$ erfordert Composer basemkhirat /Elasticsearch

2) Veröffentlicht

$ PHP Artisan Vendor: Publish – PROvider = "BasemkhiratelasticSearchServiceProvider"

Konfiguration

Wir werden es installieren, da wir mit unserer Verbindung verbunden sind:

'connections' => [
    'default' => [
        'servers' => [
            [
                "host" => env("ELASTIC_HOST", "127.0.0.1"),
                "port" => env("ELASTIC_PORT", 9200),
                'user' => env('ELASTIC_USER', ''),
                'pass' => env('ELASTIC_PASS', ''),
                'scheme' => env('ELASTIC_SCHEME', 'http'),
            ]
        ],
        'index' => env('ELASTIC_INDEX', 'my_index')
    ]],
e Unsere Clusterkonfiguration kann zu Servern hinzugefügt werden.

So verwenden Sie

Dieses Plug-in kann als Referenz im Abfrage-Builder von Laravel verwendet werden und unterstützt häufig verwendete Plug-ins wie

.

$documents = ES::connection(“default”)                                                                                { function($search){ $search->boost(2)->fields([" title" => 2, "content" => 1])})->get();

Wir können auch den Quellcode ändern, um die von uns benötigten Methoden zu erweitern oder native Abfrageanweisungen zu erstellen:

$params['body'] = [
            'aggs' => [
                'all_created' => [
                    'terms' => [
                        'field' => 'element.raw',
                        'size'  => $this->_mAggsPageSize                    ],

                    'aggs' => [

                        'sum_pv' => [
                            'sum' => ['field' => 'pv'],
                        ],
                    ],
                ],
            ],
        ];

EpilogDer integrierte Wortsegmentierer von

ES unterstützt die mittlere Segmentierung nicht. Der empfehlenswertere ist der IK-Wortsegmentierer. Es ist zu beachten, dass die ik-Version mit der ES-Versionsnummer übereinstimmen muss.                                                                                                              

Das obige ist der detaillierte Inhalt vonÜber die richtige Haltung bei der Verwendung von es in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen