Changes between Version 19 and Version 20 of adeiSEARCH

Show
Ignore:
Author:
csa (IP: 141.52.232.84)
Timestamp:
09/14/09 04:47:38 (10 years ago)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • adeiSEARCH

    v19 v20  
    5252 * Each item of the received string is matched against search terms using ''!CheckString'' function. This function returns the match rating (''0'' means there is no match) 
    5353 * The items for which the non-zero rating is returned are checked against filters and added to the search results 
    54  * Finally, the duplicating results are filtered using ''!Accept'' function of ''!SEARCHResults'' object. The comparisons between results are carried out using compare function returned by ''!GetCmpFunction'' function of search engine. The default function just compares ''title'' members of the associative arrays describing compared items. 
     54 * Finally, the duplicating results are filtered using ''Accept'' function of ''SEARCHResults'' object. The comparisons between results are carried out using compare function returned by ''!GetCmpFunction'' function of search engine. The default function just compares ''title'' members of the associative arrays describing compared items. 
    5555 
    5656The default ''!CheckString'' function is working in following way: 
    5757 * The search string is split in phrases and for each phrase ''!CheckPhrase'' function is called (see [wiki:adeiSEARCH/String] for splitting algorithm) 
    58  * Depending on the used module, the ''!CheckPhrase'' function is expected to construct from the associative array a string value to match against search terms. The default behavior is to use ''name'' member of associative array. If the ''name'' member is empty or non-existing, the match fails. 
     58 * Depending on the used module, the ''!CheckPhrase'' function is expected to construct from the associative array a string value to match against search terms. The default behavior is to use ''name'' member of associative array. If the ''name'' member is non-existing, the match succeeds. 
    5959 * The constructed string value is passed to the ''!CheckTitlePhrase'' function. 
    6060 * ''!CheckTitlePhrase'' function checks if passed string is fitting to the current search phrase and returns the rating.  
    189189}}} 
    190190 
     191== String Analysis == 
     192If the search modules are not specified, the auto-detection is used to select appropriate modules. The search string is sequentially given to all search engines as they are listed in the configuration. The engines are supposed to analyze the string. If the format of string fits the expectations of the engine (for example, the interval search checks if there is month names, short or full, within the string) it claims the string by returning the set of modules (along with parameters) which will be used for search. Otherwise ''false'' is returned. If the search string is not claimed by any engine, the channel search will be performed. 
    191193 
    192 == String Analysis == 
    193 At the moment performed by ''DetectModule'' funcion defined in classes/search.php. Should be extended by searchengines claiming the search string. 
     194If the string is claimed by a search engine no further detection is performed and string is handled by modules specified by the engines. Therefore, the engines listed first in the configuration had more chances to claim a new string. This should be considered for the ordering of the engines in the configuration. 
    194195 
    195  
     196The string analysis is performed by the ''!DetectModules'' function. It accepts a search string as an only argument. The result should be an associative array where the keys are module names and the values are module parameters. The base implementation of SEARCHEngine claims no strings.