Files
luos/workflow/engine/classes/entities/SolrRequestData.php
Erik Amaru Ortiz 1a8545df8a BUG 0000 herbert> SOLR implementation in PMOS2
Solr support in PMOS2 includes:
Functionality:
- Implementation of Home views (Inbox, Draft, Participated, Unassigned). The views return fast results.
- Include read, unread, all,  and process filter in inbox View.
- Include process filter in draft view.
- Include started by me, completed by me, all, process, and status filter in participated view.
- Include process filter in unassigned view.
- Improved search functionality (search in user defined variables): Use the following syntax to search in process (user defined) variables. {variable_name}:{search_word} ex1:"causal:20*" where causal is the variable defined by the user.
  + Use of wildcards in search: Use * as wildcard at the begin or end of word
  + Multiple conditions in search: Separate multiple conditions by space ex2:"Materiales causal:20*" means that we are searching for the word Materiales and the causal that begin with 20.
  + Search in dates (interval ): Format=> {variable_date}:[yyyy-mm-dd TO yyyy-mm-dd]
    Local date not UTC date required
    ex: FechaRegistro:[2011-04-15 TO 2011-04-30] //registros con fecha entre el 2011-04-15 y el 2011-04-30.
  + we can use the wildcard *:
    ex: FechaRegistro:[* TO 2011-04-30] //registros con fecha menor o igual a 2011-04-30.
    FechaRegistro:[2011-04-15 TO *] //registros con fecha mayor o igual a 2011-04-15.
  + Search of exact phrases. format: {variable}:"frase a buscar"
    ex: Cliente:"Jesus Marin"

- Application update function.
	+ The function is called every time a change is detected in the application's data including the related delegations.
- Use of cache to improve performance

Not included:
- Order of task, sent by, and due date columns.

Pending:
- Advanced search view using faceted lists.
2012-05-15 10:56:48 -04:00

42 lines
1.2 KiB
PHP

<?php
require_once ('Base.php');
class Entity_SolrRequestData extends Entity_Base {
public $workspace = '';
public $startAfter = 0;
public $pageSize = 10;
public $searchText = '*:*';
public $filterText = ''; // comma separated list of filters field:value
public $numSortingCols = 0; // number of columns that are sorted
public $sortableCols = array (); // array of booleans indicating if column is
// sortable (true, false)
public $sortCols = array (); // array of indices of sorted columns index
// based in the total number of sorting cols
public $sortDir = array (); // array of direction of sorting for each
// column (desc, asc)
public $includeCols = array ();
public $resultFormat = 'xml'; // json, xml, php
private function __construct() {
}
static function CreateEmpty() {
$obj = new Entity_SolrRequestData ();
return $obj;
}
static function CreateForRequestPagination($data) {
$obj = new Entity_SolrRequestData ();
$obj->initializeObject ( $data );
$requiredFields = array (
'workspace'
);
$obj->validateRequiredFields ( $requiredFields );
return $obj;
}
}