<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body ><div><div></div><div>Perhaps you could populate a field that does the heavy computation and filter on that field?</div><div><br></div><div>I guess the eprints db layer can only provide so much for filtering purposes :-/ real-time set aggregation via a sub is expensive for large datasets. Also the set state cannot "really" be saved from one request to another (eg for pagination in oai-pmh).</div><div><br></div><div>Anyways can't really think of a nice way to achieve this with eprints, sorry.&nbsp;</div><div><br></div><div><br></div><div><br></div><div><div style="font-size:75%;color:#575757">Sent from Samsung Mobile</div></div></div> <br><br><br>-------- Original message --------<br>From: Florian Heß &lt;hess@ub.uni-heidelberg.de&gt; <br>Date:  <br>To: eprints-tech@ecs.soton.ac.uk <br>Subject: [EP-tech] Re: OR-linked search filters? <br> <br><br>Am 08.12.2014 um 14:52 schrieb sf2:<br>&gt; Hi,<br>&gt;<br>&gt; I think "match" takes one of EX EQ IN or SET. And merge one of ALL or ANY<br>&gt;<br>&gt; Try IN?<br><br>Thank you Seb. Wondering why it worked that way for this long. :-)<br><br>Unfortunately, filters work non-hierarchically. Whatever "match" or <br>"merge" may be set to, it relates to one field or couple of fields as <br>listed in @$meta_fields independently from other filters. What I need is <br>rather a general OAI filter working like that:<br><br>return $record if (<br>&nbsp;&nbsp;&nbsp;&nbsp; first({ $_ eq $type } @SAFE_TYPE) # those types below<br>&nbsp; || ( $type=~/^HD/ &amp;&amp; first { $_ eq "340" } @subject )<br>);<br><br>I would humbly suggest to allow a sub-ref to filter setting if there is <br>not another way yet. Sure this cannot be optimized on database level, <br>but it is more flexible when needed.<br><br><br>Florian<br><br>&gt;<br>&gt; Seb<br>&gt;<br>&gt;<br>&gt; Sent from Samsung Mobile<br>&gt;<br>&gt;<br>&gt;<br>&gt; -------- Original message --------<br>&gt; From: Florian Heß &lt;hess@ub.uni-heidelberg.de&gt;<br>&gt; Date:<br>&gt; To: eprints-tech@ecs.soton.ac.uk<br>&gt; Subject: [EP-tech] OR-linked search filters?<br>&gt;<br>&gt;<br>&gt; Hi,<br>&gt;<br>&gt; we defined for our OAI interface the following filters:<br>&gt;<br>&gt; $oai-&gt;{filters} = [<br>&gt;<br>&gt; # Example: don't export any OAI records from before 2003.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { meta_fields =&gt; [ "type" ], value=&gt;"doctoralThesis<br>&gt; doctoralThesis.habil masterThesis bachelorThesis book Periodical article<br>&gt; bookPart preprint workingPaper conferenceObject lecture review patent<br>&gt; Sound MovingImage CartographicMaterial report", match =&gt; "ANY" },<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { meta_fields =&gt; [ "full_text_status" ],<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; value =&gt; "public none",<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; match =&gt; "ANY",<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>&gt; ];<br>&gt;<br>&gt; In addition, we want to let through another existing type for abstracts<br>&gt; but only where the subjects contain 340 or "Law" in DDC terms. Is that<br>&gt; possible and how can I achieve that?<br>&gt;<br>&gt;<br>&gt; Regards<br>&gt; Florian<br>&gt;<br>&gt; --<br>&gt; UB Heidelberg (Altstadt)<br>&gt; Plöck 107-109, 69117 HD<br>&gt; Abt. Informationstechnik<br>&gt; http://www.ub.uni-heidelberg.de/<br>&gt;<br>&gt; *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech<br>&gt; *** Archive: http://www.eprints.org/tech.php/<br>&gt; *** EPrints community wiki: http://wiki.eprints.org/<br>&gt; *** EPrints developers Forum: http://forum.eprints.org/<br>&gt;<br>&gt;<br>&gt; *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech<br>&gt; *** Archive: http://www.eprints.org/tech.php/<br>&gt; *** EPrints community wiki: http://wiki.eprints.org/<br>&gt; *** EPrints developers Forum: http://forum.eprints.org/<br>&gt;<br><br><br>-- <br>UB Heidelberg (Altstadt)<br>Plöck 107-109, 69117 HD<br>Abt. Informationstechnik<br>Tel. 06221 / 54 3550<br>http://www.ub.uni-heidelberg.de/<br><br>*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech<br>*** Archive: http://www.eprints.org/tech.php/<br>*** EPrints community wiki: http://wiki.eprints.org/<br>*** EPrints developers Forum: http://forum.eprints.org/<br></body>