EPrints Technical Mailing List Archive
Message: #04863
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
[EP-tech] Re: How to set a field to be multilang (search)
- To: eprints-tech@ecs.soton.ac.uk
- Subject: [EP-tech] Re: How to set a field to be multilang (search)
- From: George Mamalakis <mamalos@eng.auth.gr>
- Date: Tue, 06 Oct 2015 13:29:25 +0300
Hi all,As promised, I'm back with the search within multilang fields:). My problem is that it seems that I cannot search correctly within my multilingual title and abstract fields (ml_title and ml_abstract respectively), unless my dataset is reindexed manually.
What I've done so far is the following: I've added a script for each type of search (advanced and simple) that basically replaces the original fields with their multilingual counterparts. So I've added archives/myrepo/cfg/cfg.d/eprint_search_advanced_local.pl:
$c->{search}->{advanced} = { search_fields => [ { meta_fields => [ "documents" ] }, { meta_fields => [ "ml_title" ] }, { meta_fields => [ "creators_name" ] }, { meta_fields => [ "ml_abstract" ] }, { meta_fields => [ "date" ] }, { meta_fields => [ "collection" ] }, { meta_fields => [ "keywords" ] }, { meta_fields => [ "subjects" ] }, { meta_fields => [ "type" ] }, { meta_fields => [ "department" ] }, { meta_fields => [ "editors_name" ] }, { meta_fields => [ "ispublished" ] }, { meta_fields => [ "refereed" ] }, { meta_fields => [ "publication" ] }, { meta_fields => [ "documents.format" ] }, ], 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", show_zero_results => 1, }; and archives/testpamak1/cfg/cfg.d/eprint_search_simple_local.pl: $c->{search}->{simple} = { search_fields => [ { id => "q", meta_fields => [ "documents", "ml_title", "ml_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", show_zero_results => 1, };When I search for a keyword which exists in one of my deposits' ml_title field, both search functions return nothing, unless I manually reindex my dataset. After that, searches work as expected.
What exactly am I doing wrong and needs to be taken care of? Thanks all in advance! George. -- George Mamalakis IT and Security Officer, Electrical and Computer Engineer (Aristotle Univ. of Thessaloniki), PhD (Aristotle Univ. of Thessaloniki), MSc (Imperial College of London) School of Electrical and Computer Engineering Aristotle University of Thessaloniki phone number : +30 (2310) 994379
- Follow-Ups:
- [EP-tech] Re: How to set a field to be multilang (search)
- From: "Field A.N." <af05v@ecs.soton.ac.uk>
- [EP-tech] Re: How to set a field to be multilang (search)
- References:
- [EP-tech] Errors from event queue
- From: "Alan.Stiles" <alan.stiles@open.ac.uk>
- [EP-tech] Re: Errors from event queue
- From: "Field A.N." <af05v@ecs.soton.ac.uk>
- [EP-tech] Re: Errors from event queue
- From: John Salter <J.Salter@leeds.ac.uk>
- [EP-tech] Re: Errors from event queue
- From: "Alan.Stiles" <alan.stiles@open.ac.uk>
- [EP-tech] Errors from event queue
- Prev by Date: [EP-tech] Re: Advanced Search by date
- Next by Date: [EP-tech] Re: Advanced Search by date
- Previous by thread: [EP-tech] Re: Errors from event queue
- Next by thread: [EP-tech] Re: How to set a field to be multilang (search)
- Index(es):