Problema: è necessario eseguire le mie ricerche programmaticamente con l'API di ricerca. Ogni risultato di Google che trovo è orientato a insegnare ai non sviluppatori come utilizzare il modulo con Views senza risultati nel farlo come voglio.
Informazione:
- Utilizzo del servizio di database locale anziché Solr o qualsiasi altro.
- Hanno dati non memorizzati nel database che appariranno accanto ad altri risultati.
- Il contenuto verrà raggruppato in schede "tipo".
- Non utilizzare Views per vari motivi.
- L'API Facets è abilitata, ma non si sa nemmeno come usarla.
Perché: perché voglio che la pagina di ricerca sia in / site-search e senza / node / parola chiave dopo l'argomento della pagina. Inoltre verrà chiesto di personalizzare questo oltre l'ambito di altri moduli che possono fornire lo stesso tipo di funzionalità. E voglio imparare a farlo, ma non ho trovato nessun tutorial o altra intuizione su come realizzarlo.
Il resto: ho creato la mia pagina di ricerca e su di essa sto eseguendo la ricerca con:
$term = $_SESSION['my-search']['term'];
$server = search_api_server_load('database');
$index = search_api_index_load('default_node_index');
$query = new SearchApiQuery($index);
$query->keys($term);
$query->fields(array('title','body:value'));
$srv= new SearchApiDbService($server);
$result = $srv->search($query);
La variabile di sessione viene impostata quando viene inviato un modulo di ricerca, quindi reindirizza l'utente a / site-search per eseguire la ricerca e mostrare i risultati.
Se output $ risultato vedo che è un array con informazioni diverse tra cui un set di risultati che è un array di ID nodo e i loro punteggi.
Potrei scorrere quelli, afferrando il nodo e mostrando i risultati da solo, ma immagino che ci debba essere un altro metodo per rendere i risultati della ricerca. Non l'ho trovato però e questo è il problema.
Ho esaminato le diverse classi nell'API di ricerca e nell'API Facet e non riesco a trovare nulla in esse che sembra che creino un risultato.
Qualsiasi aiuto con questo sarà apprezzato.
Esempio di risultati:
Array
(
[result count] => 11
[results] => Array
(
[37] => Array
(
[id] => 37
[score] => 15.7503318786621
)
[39] => Array
(
[id] => 39
[score] => 7
)
[40] => Array
(
[id] => 40
[score] => 5
)
[31] => Array
(
[id] => 31
[score] => 4
)
[33] => Array
(
[id] => 33
[score] => 1
)
[36] => Array
(
[id] => 36
[score] => 1
)
[1] => Array
(
[id] => 1
[score] => 1
)
[15] => Array
(
[id] => 15
[score] => 1
)
[16] => Array
(
[id] => 16
[score] => 1
)
[27] => Array
(
[id] => 27
[score] => 1
)
[35] => Array
(
[id] => 35
[score] => 0.980873763561249
)
)
[warnings] => Array
(
)
[ignored] => Array
(
)
[performance] => Array
(
[complete] => 0.0033111572265625
[preprocessing] => 0.00053095817565918
[execution] => 0.0027379989624023
[postprocessing] => 4.2200088500977E-5
)
)