Browse Source

Add repository to search API, fixes #426

Jordi Boggiano 10 years ago
parent
commit
058a978138

+ 1 - 0
doc/schema.xml

@@ -237,6 +237,7 @@
    <field name="tags" type="text_general_rev" indexed="true" stored="true" multiValued="true"/>
    <field name="type" type="text_general_rev" indexed="true" stored="true"/>
    <field name="trendiness" type="float" indexed="true" stored="true" />
+   <field name="repository" type="string" indexed="false" stored="true" />
 
    <!-- catchall field, containing all other searchable text fields (implemented
         via copyField further on in this schema  -->

+ 2 - 0
src/Packagist/WebBundle/Command/IndexPackagesCommand.php

@@ -141,6 +141,7 @@ class IndexPackagesCommand extends ContainerAwareCommand
                                 $document->setField('description', '');
                                 $document->setField('type', 'virtual-package');
                                 $document->setField('trendiness', 100);
+                                $document->setField('repository', '');
                                 $update->addDocument($document);
                             } catch (\Exception $e) {
                                 $output->writeln('<error>Exception: '.$e->getMessage().', skipping package '.$package->getName().':provide:'.$provide->getPackageName().'</error>');
@@ -168,6 +169,7 @@ class IndexPackagesCommand extends ContainerAwareCommand
         $document->setField('description', $package->getDescription());
         $document->setField('type', $package->getType());
         $document->setField('trendiness', $redis->zscore('downloads:trending', $package->getId()));
+        $document->setField('repository', $package->getRepository());
 
         $tags = array();
         foreach ($package->getVersions() as $version) {

+ 1 - 0
src/Packagist/WebBundle/Controller/WebController.php

@@ -336,6 +336,7 @@ class WebController extends Controller
                         'url' => $url,
                         'downloads' => $metadata['downloads'][$package->id],
                         'favers' => $metadata['favers'][$package->id],
+                        'repository' => $package->repository,
                     );
                 }