2016-05-10 15 views
0

Ich verwende Laravel 5.1 und das mustafaaloko/elasticquent5 Paket (found here).Elasticsearch liefert keine Teilergebnisse

Aber wenn ich versuche, Ergebnisse zurückzugeben, kann ich nur Ergebnisse erhalten, wenn ich nach dem genauen Wort suche. Wenn ich versuche, einen Teil des Wortes zu suchen, gibt es nichts zurück.

Ich bin mit Profile::addAllToIndex(); und dd(Profile::search(Input::get('search_term')));

Meine Config sieht wie folgt aus:

<?php 

return array(

    /* 
    |-------------------------------------------------------------------------- 
    | Custom Elasticsearch Client Configuration 
    |-------------------------------------------------------------------------- 
    | 
    | This array will be passed to the Elasticsearch client. 
    | See configuration options here: 
    | 
    | http://www.elasticsearch.org/guide/en/elasticsearch/client/php-api/current/_configuration.html 
    */ 

    'config' => [ 
     'hosts'  => ['ahp.dev:9200'], 
     'logging' => true, 
     'logPath' => storage_path() . '/logs/elasticsearch.log', 
     'logLevel' => Monolog\Logger::WARNING, 
    ], 

    /* 
    |-------------------------------------------------------------------------- 
    | Default Index Name 
    |-------------------------------------------------------------------------- 
    | 
    | This is the index name that Elastiquent will use for all 
    | Elastiquent models. 
    */ 

    'default_index' => 'default', 

); 

Antwort

1

Sie sollten versuchen, searchByQuery statt search verwenden und eine query_string Abfrage

Profile::searchByQuery(array('query_string' => array('query' => Input::get('search_term')))); 
+0

Ich musste mach eine Anpassung, indem du '* 'vor und nach dem' Input :: get (' search_term ') 'hinzufügst, aber dann hat es funktioniert! Vielen Dank! – Haring10

+0

Oh ja, vergaß das. Großartig, es hat funktioniert !! – Val

+0

akzeptiert als richtige Antwort einmal Wartezeit ist über – Haring10

Verwandte Themen