0

PHP を使用して、solr インスタンスにあるドキュメントを見つけようとしています。solr admin に移動して検索すると、次のようになります。

  <response>
    <lst name="responseHeader">
    <int name="status">0</int>
<int name="QTime">443</int><lst name="params">
<str name="indent">on</str><str name="start">0</str>
<str name="q">*:*</str><str name="rows">10</str>
<str name="version">2.2</str></lst></lst>
<result name="response" numFound="4" start="0">
<doc>
<str name="description">An Aweomse dish</str>
<arr name="ingredients"><str>Radish</str><str>Beans</str><str>Curry</str></arr>
<str name="name">Alfredo Chehse</str>
<str name="recipe_id">10</str><str name="thumbnail">123343f342</str>
</doc>
<doc>
<str name="description">An Aweomse dish</str>
<arr name="ingredients"><str>Radish</str><str>Beans</str>
<str>Curry</str></arr><str name="name">Alfredo Chehse</str>
<str name="recipe_id">11</str><str name="thumbnail">123343f342</str>
</doc>
</result>
</response>

だから、データがそこにあることを知っています。今私のPHPで私はこれを持っています:

$query = new SolrQuery();

        $query->setQuery('Radish');

        $query->setStart(0);

        $query->setRows(50);

        $query->addField('ingredients') -> addField('name');

        $query_response = $client->query($query);

        $query_response->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);

        $response = $query_response->getResponse();

        print_r($response);

しかし、私は常に空の結果セットを取得します:

SolrObject オブジェクト (

 [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [fl] => ingredients,name
                    [indent] => on
                    [start] => 0
                    [q] => radish
                    [wt] => xml
                    [rows] => 50
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 0
            [start] => 0
            [docs] => 
        )

私の質問は、何を検索しても結果が常に空になるのはなぜですか?

4

1 に答える 1

2

食材はインデックス付きフィールドですか?

ドキュメントごとに大文字と小文字を区別しないフルテキスト インデックス フィールドがありますか?

これを試して

$query->setQuery('ingredients:*Radish*');
于 2012-06-30T15:08:09.530 に答える