Search.pl

From EPrints Documentation
Revision as of 15:00, 10 September 2014 by Libjlrs (Talk | contribs)

Jump to: navigation, search

Note

In EPrints 3.3, only simple and advanced search configurations will work by default. See EPrints 3.3x Changes to Searching


Simple Search

$c->{search}->{simple} = {
        search_fields => [
                {
                        id => "q",
                        meta_fields => [
                                $EPrints::Utils::FULLTEXT,
                                "title",
                                "abstract",
                                "creators_name",
                                "date"
                        ]
                },
        ],
        preamble_phrase => "cgi/search:preamble",
        title_phrase => "cgi/search:simple_search",
        citation => "result",
        page_size => 20,
        order_methods => {
                "byyear"         => "-date/creators_name/title",
                "byyearoldest"   => "date/creators_name/title",
                "byname"         => "creators_name/-date/title",
                "bytitle"        => "title/creators_name/-date"
        },
        default_order => "byyear",
};

Advanced Search

$c->{search}->{advanced} ={
        search_fields => [
                { meta_fields => [ $EPrints::Utils::FULLTEXT ] },
                { meta_fields => [ "title" ] },
                { meta_fields => [ "creators_name" ] },
                { meta_fields => [ "creators_id" ] },
                { meta_fields => [ "abstract" ] },
                { meta_fields => [ "keywords" ] },
                { meta_fields => [ "subjects" ] },

                { meta_fields => [ "divisions" ] },

                { meta_fields => [ "type" ] },
                { meta_fields => [ "department" ] },
                { meta_fields => [ "editors_name" ] },
                { meta_fields => [ "ispublished" ] },
                { meta_fields => [ "refereed" ] },
                { meta_fields => [ "publication" ] },
                { meta_fields => [ "date" ] }
        ],
        preamble_phrase => "cgi/advsearch:preamble",
        title_phrase => "cgi/advsearch:adv_search",
        citation => "result",
        page_size => 20,
        order_methods => {
                "byyear"         => "-date/creators_name/title",
                "byyearoldest"   => "date/creators_name/title",
                "byname"         => "creators_name/-date/title",
                "bytitle"        => "title/creators_name/-date"
        },
        default_order => "byyear",
};

Search by Email

Searching by email can be the best way to get publications by an individual. To add this functionality to the advanced search simply add this line:

                { meta_fields => [ "creators_id" ] },

creators_id is the database column name that contains the email address.