Differential D18593 Diff 44654 src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php
Changeset View
Changeset View
Standalone View
Standalone View
src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php
Show First 20 Lines • Show All 1,677 Lines • ▼ Show 20 Lines | foreach ($this->ferretTokens as $fulltext_token) { | ||||
$ngrams = $engine->getSubstringNgramsFromString($value); | $ngrams = $engine->getSubstringNgramsFromString($value); | ||||
} else { | } else { | ||||
$terms_value = $engine->newTermsCorpus($value); | $terms_value = $engine->newTermsCorpus($value); | ||||
$ngrams = $engine->getTermNgramsFromString($terms_value); | $ngrams = $engine->getTermNgramsFromString($terms_value); | ||||
// If this is a stemmed term, only look for ngrams present in both the | // If this is a stemmed term, only look for ngrams present in both the | ||||
// unstemmed and stemmed variations. | // unstemmed and stemmed variations. | ||||
if ($is_stemmed) { | if ($is_stemmed) { | ||||
// Trim the boundary space characters so the stemmer recognizes this | |||||
// is (or, at least, may be) a normal word and activates. | |||||
$terms_value = trim($terms_value, ' '); | |||||
$stem_value = $stemmer->stemToken($terms_value); | $stem_value = $stemmer->stemToken($terms_value); | ||||
$stem_ngrams = $engine->getTermNgramsFromString($stem_value); | $stem_ngrams = $engine->getTermNgramsFromString($stem_value); | ||||
$ngrams = array_intersect($ngrams, $stem_ngrams); | $ngrams = array_intersect($ngrams, $stem_ngrams); | ||||
} | } | ||||
} | } | ||||
foreach ($ngrams as $ngram) { | foreach ($ngrams as $ngram) { | ||||
$flat[] = array( | $flat[] = array( | ||||
▲ Show 20 Lines • Show All 1,077 Lines • Show Last 20 Lines |