Updating some terminology and variable names. Also updated readme to include more information about extending the package and fixed some spelling errors
This commit is contained in:
@ -17,16 +17,11 @@ class AcronymMatcher extends BaseMatcher
|
||||
protected $operator = 'LIKE';
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $multiplier = 42;
|
||||
|
||||
/**
|
||||
* @param $searchString
|
||||
* @return mixed|string
|
||||
*/
|
||||
public function formatSearchString( $searchString ) {
|
||||
|
||||
public function formatSearchString( $searchString )
|
||||
{
|
||||
return implode( '% ', str_split(strtoupper( $searchString ))) . '%';
|
||||
}
|
||||
}
|
@ -11,7 +11,8 @@ abstract class BaseMatcher implements MatcherInterface
|
||||
|
||||
protected $multiplier;
|
||||
|
||||
public function __construct( $multiplier ){
|
||||
public function __construct( $multiplier )
|
||||
{
|
||||
$this->multiplier = $multiplier;
|
||||
}
|
||||
|
||||
@ -22,8 +23,8 @@ abstract class BaseMatcher implements MatcherInterface
|
||||
* @param $searchString
|
||||
* @return mixed|string
|
||||
*/
|
||||
public function buildQueryString( $column, $searchString ){
|
||||
|
||||
public function buildQueryString( $column, $searchString )
|
||||
{
|
||||
if ( method_exists($this, 'formatSearchString') )
|
||||
$searchString = $this->formatSearchString( $searchString );
|
||||
|
||||
|
@ -17,15 +17,11 @@ class ConsecutiveCharactersMatcher extends BaseMatcher
|
||||
protected $operator = 'LIKE';
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $multiplier = 40;
|
||||
|
||||
/**
|
||||
* @param $searchString
|
||||
* @return string
|
||||
*/
|
||||
public function formatSearchString( $searchString ) {
|
||||
public function formatSearchString( $searchString )
|
||||
{
|
||||
return '%'.implode('%', str_split( $searchString )).'%';
|
||||
}
|
||||
|
||||
@ -34,8 +30,8 @@ class ConsecutiveCharactersMatcher extends BaseMatcher
|
||||
* @param $rawString
|
||||
* @return mixed|string
|
||||
*/
|
||||
public function buildQueryString( $column, $rawString ){
|
||||
|
||||
public function buildQueryString( $column, $rawString )
|
||||
{
|
||||
$searchString = $this->formatSearchString( $rawString );
|
||||
|
||||
$query = "IF($column {$this->operator} '$searchString', ROUND({$this->multiplier} * (CHAR_LENGTH( '$rawString' ) / CHAR_LENGTH( REPLACE($column, ' ', '') ))), 0)";
|
||||
|
@ -11,14 +11,10 @@
|
||||
|
||||
class ExactMatcher extends BaseMatcher
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $operator = '=';
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $multiplier = 100;
|
||||
|
||||
}
|
@ -18,15 +18,11 @@ class InStringMatcher extends BaseMatcher
|
||||
protected $operator = 'LIKE';
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $multiplier = 30;
|
||||
|
||||
/**
|
||||
* @param $searchString
|
||||
* @return string
|
||||
*/
|
||||
public function formatSearchString( $searchString ){
|
||||
public function formatSearchString( $searchString )
|
||||
{
|
||||
return "%$searchString%";
|
||||
}
|
||||
}
|
@ -24,10 +24,9 @@ class LevenshteinMatcher extends BaseMatcher
|
||||
* @param $searchString
|
||||
* @return mixed|string
|
||||
*/
|
||||
public function buildQueryString( $column, $searchString ){
|
||||
|
||||
public function buildQueryString( $column, $searchString )
|
||||
{
|
||||
return "levenshtein($column, '$searchString', {$this->sensitivity})";
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -18,15 +18,11 @@ class StartOfStringMatcher extends BaseMatcher
|
||||
protected $operator = 'LIKE';
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $multiplier = 50;
|
||||
|
||||
/**
|
||||
* @param $searchString
|
||||
* @return string
|
||||
*/
|
||||
public function formatSearchString( $searchString ) {
|
||||
public function formatSearchString( $searchString )
|
||||
{
|
||||
return "$searchString%";
|
||||
}
|
||||
}
|
@ -18,15 +18,11 @@ class StartOfWordsMatcher extends BaseMatcher
|
||||
protected $operator = 'LIKE';
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $multiplier = 35;
|
||||
|
||||
/**
|
||||
* @param $searchString
|
||||
* @return string
|
||||
*/
|
||||
public function formatSearchString( $searchString ) {
|
||||
public function formatSearchString( $searchString )
|
||||
{
|
||||
return implode('% ', explode(' ', $searchString)) . '%';
|
||||
}
|
||||
}
|
@ -17,21 +17,17 @@ class StudlyCaseMatcher extends BaseMatcher
|
||||
protected $operator = 'LIKE BINARY';
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $multiplier = 32;
|
||||
|
||||
/**
|
||||
* @param $searchString
|
||||
* @return string
|
||||
*/
|
||||
public function formatSearchString( $searchString ) {
|
||||
public function formatSearchString( $searchString )
|
||||
{
|
||||
|
||||
return implode( '%', str_split(strtoupper( $searchString ))) . '%';
|
||||
}
|
||||
|
||||
public function buildQueryString( $column, $searchString ){
|
||||
|
||||
public function buildQueryString( $column, $searchString )
|
||||
{
|
||||
$query = "IF( CHAR_LENGTH( TRIM($column)) = CHAR_LENGTH( REPLACE( TRIM($column), ' ', '')) AND $column {$this->operator} '{$this->formatSearchString($searchString)}', {$this->multiplier}, 0)";
|
||||
|
||||
return $query;
|
||||
|
@ -14,17 +14,12 @@ class TimesInStringMatcher extends BaseMatcher
|
||||
{
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $multiplier = 8;
|
||||
|
||||
/**
|
||||
* @param $column
|
||||
* @param $searchString
|
||||
* @return mixed|string
|
||||
*/
|
||||
public function buildQueryString( $column, $searchString ){
|
||||
|
||||
public function buildQueryString( $column, $searchString )
|
||||
{
|
||||
$query = "{$this->multiplier} * ROUND ((
|
||||
CHAR_LENGTH($column) - CHAR_LENGTH( REPLACE ( LOWER($column), lower('$searchString'), ''))
|
||||
) / LENGTH('$searchString'))";
|
||||
|
Reference in New Issue
Block a user