![]() |
Xataface 2.0
Xataface Application Framework
|
Public Member Functions | |
| createIndexTable () | |
| indexRecord (&$record, $lang='*') | |
| indexFoundRecords ($query, $lang='*') | |
| buildIndex ($tables=null, $lang='*', $clear=true) | |
| isTableIndexable ($tablename) | |
| _cmp_words_by_length ($a, $b) | |
| find ($query, $returnMetadata=false, $lang=null) | |
A class that indexes records in a dataface application.
Usage:
$index = new Dataface_Index();
$index->buildIndex(); // Clears the index and builds it anew $index->buildIndex(array('people')); // indexes records in the people table only (but erases entire index $index->buildIndex(array('people'), '*',false); // indexes reords in the people table for all languages, but doesn't // erase existing index for other tables.
// Suppose we already have a record that we want to index. $record =& df_get_record_by_id('people?personid=10'); $index->indexRecord($record); // indexes record in all languages. $index->indexRecord($record, null); //indexes record in current language. $index->indexRecord($record, 'en'); // indexes record in english only.
$index->indexFoundRecords(array('-table'=>'people', 'personid'=>'>10'));
$results = $index->find(array('-search'=>"My search words")); foreach ($results as $result){ echo $result['record_id']; echo $result['record_url']; echo $result['record_title']; echo $result['record_description']; echo $result['relevance']; }
| buildIndex | ( | $ | tables = null, |
| $ | lang = '*', |
||
| $ | clear = true |
||
| ) |
| find | ( | $ | query, |
| $ | returnMetadata = false, |
||
| $ | lang = null |
||
| ) |
| indexRecord | ( | &$ | record, |
| $ | lang = '*' |
||
| ) |
Indexes a record so that it is searchable in the index. If the index table does not exist yet, this will create it.
| Dataface_Record | &$record | The record to be indexed. |
| string | $lang | The 2-digit language code representing the language that this record is stored in. |
1.7.4