Page MenuHomePhabricator
Paste P5093

benchScroll-wmf.16.php
ActivePublic

Authored by EBernhardson on Mar 21 2017, 12:29 AM.
Tags
None
Referenced Files
F6798502: benchScroll-wmf.16.php
Mar 21 2017, 1:42 AM
F6798461: benchScroll-wmf.16.php
Mar 21 2017, 1:36 AM
F6798422: benchScroll-wmf.16.php
Mar 21 2017, 1:32 AM
F6797652: benchScroll-wmf.16.php
Mar 21 2017, 12:29 AM
Subscribers
None
# <?php
$config = MediaWiki\MediaWikiServices::getInstance()->getConfigFactory()->makeConfig( 'CirrusSearch' );
$conn = CirrusSearch\Connection::getPool( $config, 'codfw' );
$scorer = CirrusSearch\BuildDocument\Completion\SuggestScoringMethodFactory::getScoringMethod( 'popqual' );
$builder = new CirrusSearch\BuildDocument\Completion\SuggestBuilder( $scorer, [] );
$sourceIndex = $conn->getIndex( 'cawiki', 'content' );
$query = new \Elastica\Query();
$query->setSource(['includes' => $builder->getRequiredFields()]);
$pageAndNs = new \Elastica\Query\BoolQuery();
$pageAndNs->addShould( new Elastica\Query\Term(["namespace" => NS_MAIN]));
$pageAndNs->addShould( new Elastica\Query\Term(["redirect.namespace" => NS_MAIN]));
$pageAndNs->addMust(new \Elastica\Query\Type('page'));
$bool = new Elastica\Query\BoolQuery();
$bool->addFilter($pageAndNs);
$query->setQuery($bool);
$search = new \Elastica\Search( $conn->getClient() );
$search->setQuery($query);
$search->addIndex($sourceIndex);
$query->setSize(100);
$scroll = new \Elastica\Scroll( $search, '15m' );
$esTook = 0;
$numDocs = 0;
$numBatch = 0;
$start = microtime(true);
foreach ( $scroll as $results ) {echo "."; $esTook += $results->getTotalTime(); $numDocs += count( $results ); $numBatch++; }
$took = microtime(true) - $start;
echo "IP: $IP\n";
echo "Took: $took\n";
echo "Elastic took: $esTook\n";
echo "Docs seen: $numDocs\n";
echo "Num batches: $numBatch\n";