2011-03-27 3 views
0

J'importe les données de la base de données directement dans l'index solr. Maintenant, je veux le rechercher en utilisant php-solr-client. Maintenant, je veux le rechercher:Comment rechercher l'indice de solr entier?

$offset = 0; 
$limit = 10; 

$queries = array(
    'details:Server' 
); 

$response = $solr->search($query, $offset, $limit); 

Pour l'instant, je ne peux rechercher que lorsque je spécifie le champ, par ex. details. Existe-t-il un moyen de rechercher tous les champs à la fois?

Répondre

1

Si vous omettez le details:, ne recherche-t-il pas tous les champs indexés?

Sinon, vous pouvez toujours combiner plusieurs champs dans une requête comme ceci:

details:Server OR field2:Server OR field3:Server

EDIT: En ce qui concerne champ par défaut pour rechercher, spécifiez un champ « factice » qui serait peuplé de valeurs multiples:

<field name="text" type="text" indexed="true" stored="false" multiValued="true"/> 

Puis ont copyField entrées pour tous les champs qui seraient à la recherche:

<copyField source="title" dest="text"/> 
<copyField source="akatitle" dest="text"/> 
<copyField source="year" dest="text"/> 

Et enfin, préciser que ce champ doit être celui par défaut:

<defaultSearchField>text</defaultSearchField> 

Cela devrait fonctionner.

+0

Que voulez-vous dire par omettre? –

+0

Ne l'utilisant pas du tout, juste 'Server', je pense que c'est une syntaxe de requête Lucene valide. – jishi

+0

quand je laisse le nom du champ je n'obtiens aucun résultat de recherche, était étrange pour moi aussi –

Questions connexes