On Tue, 03 Dec 2013, [email protected] wrote:
> So, briefly, what I need is a type of sub-search in the same field as
> the first argument... Is there a way (using regular expressions or a
> trick/hack) to make this work and get some proper results?

Right now you'd have to make a second pass: firstly, retrieve results as
you do now (including false positives); secondly, pass through results
calling field instance filtering function that would pick only the
fields having wanted another subfield.

WRT filtering, see:

  http://invenio-software.org/ticket/1550

and the related commits.

So, while this is doable, and the master branch has ingredients ready,
there is some code to write and run after your searches, which may be
too slow in case there is a huge number of results returned in the first
step before the filtering step is called.

BTW just yesterday we thought about adding a special index for a similar
searching need, auhtor-at-institute, where a user would type:

   ellis@CERN

and the query would return all records where 700 $a contained `ellis'
with the corresponding 700 $u containing `cern'.

So your email is coming very timely :)

P.S. The post-filtering technique could be generalised into a new
     second-order search operator, say @, so that all the following
     queries would be legal:

        author:ellis@affiliation:CERN
        author:ellis@relator:editor
        title:of@provenance:arXiv

     without having to introduce any special index.  (If the
     post-filtering slowness is acceptable; otherwise a special index
     would be needed.)

Best regards
--
Tibor Simko

Reply via email to