FAQ -> rel-5_0 API documentation

NAME

Kernel::System::FAQSearch - FAQ search lib

SYNOPSIS

All FAQ search functions.

  • FAQSearch()

    search in FAQ articles

    my @IDs = $FAQObject->FAQSearch(
    
        Number    => '*134*',                                         # (optional)
        Title     => '*some title*',                                  # (optional)
    
        # is searching in Number, Title, Keyword and Field1-6
        What      => '*some text*',                                   # (optional)
    
        Keyword   => '*webserver*',                                   # (optional)
        States    => {                                                # (optional)
            1 => 'internal',
            2 => 'external',
        },
        LanguageIDs => [ 4, 5, 6 ],                                   # (optional)
        CategoryIDs => [ 7, 8, 9 ],                                   # (optional)
        ValidIDs    => [ 1, 2, 3 ],                                   # (optional) (default 1)
    
        # Approved
        #    Only available in internal interface (agent interface)
        Approved    => 1,                                             # (optional) 1 or 0,
    
        # Votes
        #   At least one operator must be specified. Operators will be connected with AND,
        #       values in an operator with OR.
        #   You can also pass more than one argument to an operator: [123, 654]
        Votes => {
            Equals            => 123,
            GreaterThan       => 123,
            GreaterThanEquals => 123,
            SmallerThan       => 123,
            SmallerThanEquals => 123,
        }
    
        # Rate
        #   At least one operator must be specified. Operators will be connected with AND,
        #       values in an operator with OR.
        #   You can also pass more than one argument to an operator: [50, 75]
        Rate => {
            Equals            => 75,
            GreaterThan       => 75,
            GreaterThanEquals => 75,
            SmallerThan       => 75,
            SmallerThanEquals => 75,
        }
    
        # create FAQ item properties (optional)
        CreatedUserIDs => [1, 12, 455, 32]
    
        # change FAQ item properties (optional)
        LastChangedUserIDs => [1, 12, 455, 32]
    
        # DynamicFields
        #   At least one operator must be specified. Operators will be connected with AND,
        #       values in an operator with OR.
        #   You can also pass more than one argument to an operator: ['value1', 'value2']
        DynamicField_FieldNameX => {
            Equals            => 123,
            Like              => 'value*',                # "equals" operator with wild-card support
            GreaterThan       => '2001-01-01 01:01:01',
            GreaterThanEquals => '2001-01-01 01:01:01',
            SmallerThan       => '2002-02-02 02:02:02',
            SmallerThanEquals => '2002-02-02 02:02:02',
        }
    
        # FAQ items created more than 60 minutes ago (item older than 60 minutes)  (optional)
        ItemCreateTimeOlderMinutes => 60,
        # FAQ item created less than 120 minutes ago (item newer than 120 minutes) (optional)
        ItemCreateTimeNewerMinutes => 120,
    
        # FAQ items with create time after ... (item newer than this date) (optional)
        ItemCreateTimeNewerDate => '2006-01-09 00:00:01',
        # FAQ items with created time before ... (item older than this date) (optional)
        ItemCreateTimeOlderDate => '2006-01-19 23:59:59',
    
        # FAQ items changed more than 60 minutes ago (optional)
        ItemChangeTimeOlderMinutes => 60,
        # FAQ items changed less than 120 minutes ago (optional)
        ItemChangeTimeNewerMinutes => 120,
    
        # FAQ item with changed time after ... (item changed newer than this date) (optional)
        ItemChangeTimeNewerDate => '2006-01-09 00:00:01',
        # FAQ item with changed time before ... (item changed older than this date) (optional)
        ItemChangeTimeOlderDate => '2006-01-19 23:59:59',
    
        OrderBy => [ 'FAQID', 'Title' ],                              # (optional)
        # default: [ 'FAQID' ],
        # (FAQID, Number, Title, Language, Category, Valid, Created,
        # Changed, State, Votes, Result)
    
        # Additional information for OrderBy:
        # The OrderByDirection can be specified for each OrderBy attribute.
        # The pairing is made by the array indexes.
    
        OrderByDirection => [ 'Down', 'Up' ],                         # (optional)
        # default: [ 'UP' ]
        # (Down | Up)
    
        Limit     => 150,
    
        Interface => {              # (default internal)
            StateID => 3,
            Name    => 'public',    # public | external | internal
        },
        UserID    => 1,
    );
    

    Returns:

    @IDs = (
        32,
        13,
        12,
        9,
        6,
        5,
        4,
        1,
    );
    

TERMS AND CONDITIONS

This software is part of the OTRS project (https://otrs.org/).

This software comes with ABSOLUTELY NO WARRANTY. For details, see the enclosed file COPYING for license information (GPL). If you did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.