Copied!

MoreLikeThis

MoreLikeThis.php : 18
Extends Criterion

A more like this criterion is matched by content which contains similar terms found in the given content, text or url fetch.

Constants

publicCONTENT

MoreLikeThis.php : 20
public mixed CONTENT = 1

publicTEXT

MoreLikeThis.php : 21
public mixed TEXT = 2

publicURL

MoreLikeThis.php : 22
public mixed URL = 3

Properties

public $operator

Criterion.php : 23

The operator used by the Criterion.

public string $operator

public $target

Criterion.php : 37

The target used by the criteria (field, metadata...).

public string $target

public $value

Criterion.php : 30

The value(s) matched by the criteria.

public array<string|int, scalar>|scalar $value

public $valueData

Criterion.php : 44

Additional value data, required by some criterions, MapLocationDistance for instance.

public Value $valueData

protected $type

MoreLikeThis.php : 29

The type of the parameter from which terms are extracted for finding similar objects.

protected int $type

Methods

public__construct()

MoreLikeThis.php : 39

Creates a new more like this criterion.

public __construct(int $type, mixed $value)

Parameters

Name Type Default value Description
$type int -

the type (one of CONTENT,TEXT,URL)

$value mixed -

the value depending on the type

Tags
Throws
InvalidArgumentException

if the value type doesn't match the expected type

publicgetSpecifications()

MoreLikeThis.php : 46

Criterion description function.

public getSpecifications() : array<string|int, Specifications>

Returns the combination of the Criterion's supported operator/value, as an array of Specifications objects

  • Operator is one supported Operator, as an Operator::* constant
  • ValueType is the type of input value this operator requires, either array or single
  • SupportedTypes is an array of types the operator will accept
  • ValueCountLimitation is an integer saying how many values are expected.
// IN and EQ are supported return [ // The EQ operator expects a single value, either as an integer or a string new Specifications( Operator::EQ, Specifications::FORMAT_SINGLE, Specifications::TYPE_INTEGER | Specifications::TYPE_STRING ), // The IN operator expects an array of values, of either integers or strings new Specifications( Operator::IN, Specifications::FORMAT_ARRAY, Specifications::TYPE_INTEGER | Specifications::TYPE_STRING ) ]

Return values

array<string|int, Specifications>