Hello, I have a couple of questions related to this same topic, as far as I 
see the endpoint /api/discover/search allows the results to be sorted by:

score
dc.title
dc.date.issued
dc.date.accessioned

For example:

/api/discover/search/objects?sort=score

Would it be possible to sort them by the date of the last modification? I 
have tried something like the following, but it didn't work for me:

/api/discover/search/objects?sort=query:lastModified
/api/discover/search/objects?sort=lastModified
/api/discover/search/objects?sort=query

Finally, what does the option to sort by "score" refer to, i.e., does it 
have any relation to item statistics such as number of downloads or 
something like that that determines their score?

Best,
Omar

El viernes, 24 de septiembre de 2021 a la(s) 17:14:47 UTC-5, Omar Villa 
escribió:

> Sorry, I think I clicked on reply to the author.
>
> I really appreciate it Tim, your explanation will help me a lot.
>
> Best,
> Omar
>
> El miércoles, 22 de septiembre de 2021 a la(s) 11:03:58 UTC-5, 
> [email protected] escribió:
>
>> Thanks for the quick reply Tim, that's great to know!
>> Best wishes,
>> Ben
>>
>> On Wednesday, 22 September 2021 at 16:24:55 UTC+1 Tim Donohue wrote:
>>
>>> Hi Omar & Ben,
>>>
>>> The DSpace 7 REST API can support​ Solr/Lucene style queries, provided 
>>> that it's URL encoded.  So, this sort of search by lastModified date is 
>>> already supported *for Items*​ as the lastModified date of an Item is 
>>> indexed in Solr (as the Solr field "lastModified"), see:
>>>
>>> https://github.com/DSpace/DSpace/blob/main/dspace-api/src/main/java/org/dspace/discovery/indexobject/ItemIndexFactoryImpl.java#L141
>>>
>>> The syntax is a bit odd, as you must both use a Solr date range search & 
>>> ensure it is URL encoded. 
>>>
>>>    - Solr date range query syntax: 
>>>    https://solr.apache.org/guide/8_0/working-with-dates.html
>>>    - YOU MUST URL encode special characters in this syntax, e.g. the 
>>>    square brackets [] and any other special characters, etc.
>>>
>>>
>>> But, once you do all that, it works.  Here's an example using the demo 
>>> REST API:
>>>
>>>
>>> https://api7.dspace.org/server/api/discover/search/objects?query=lastModified%3A%5B2021-01-01T00:00:00Z%20TO%202021-09-01T00:00:00Z%5D
>>>
>>> That's hard to read, but un-encoded it says:
>>>
>>> "query=lastModified:[2021-01-01T00:00:00Z TO 2021-09-01T00:00:00Z]"
>>>
>>> In other words, everything modified between Jan 1 and Sept 1 of this 
>>> year.
>>>
>>> I'll admit, I cannot guarantee this will work perfectly for all Solr 
>>> date queries (e.g. I'm having difficulty getting it to work locally for an 
>>> open-ended query using an asterisk), but the basics do work.
>>>
>>> (NOTE: This *only*​ works for Items, as currently DSpace doesn't 
>>> support a "lastModified" date concept for Communities or Collections, etc.)
>>>
>>> Tim
>>>
>>> ------------------------------
>>> *From:* 'Ben Heartland' via DSpace Technical Support <
>>> [email protected]>
>>> *Sent:* Tuesday, September 21, 2021 4:48 AM
>>> *To:* DSpace Technical Support <[email protected]>
>>> *Subject:* [dspace-tech] Re: DSpace 7 API search by lastModified date 
>>>  
>>> Hi, 
>>>
>>> Thanks for raising this Omar, this would be a welcome addition for us 
>>> too. Currently, we first use OAI to find recently changed items, then use 
>>> the 6.x REST API to get their metadata. Having both operations consolidated 
>>> under the new core API would be simpler and more robust.
>>>
>>> All the best,
>>> Ben
>>>
>>> On Monday, 20 September 2021 at 01:09:50 UTC+1 [email protected] wrote:
>>>
>>> Hi,
>>>
>>> I want to know if using the new DSpace 7 API there is a way to perform a 
>>> search to get only those records that have been created and / or updated 
>>> from a certain date, I see among the information obtained with the API 
>>> (endpoint /api/core/items) that there is the "lastModified" field which is 
>>> useful to know this, but I would like to filter it without having to get 
>>> all the items first, the closest I have found is that I can do a search 
>>> using the metadata dc.date.issued something like:
>>>
>>> /api/discover/search/objects?f.dateIssued=%5B2019 TO 2021%5D,equals
>>>
>>> But I would rather like a result like the one obtained with OIA using a 
>>> query like the following:
>>>
>>>
>>> https://example.com/oai/request?verb=ListRecords&metadataPrefix=oai_dc&from=2019-08-01&until=2021-09-15
>>>
>>> Thanks,
>>> Omar
>>>
>>> -- 
>>> All messages to this mailing list should adhere to the Code of Conduct: 
>>> https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "DSpace Technical Support" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/dspace-tech/f1a49926-57cb-43c0-b8cb-21f3b516492dn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/dspace-tech/f1a49926-57cb-43c0-b8cb-21f3b516492dn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
All messages to this mailing list should adhere to the Code of Conduct: 
https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx
--- 
You received this message because you are subscribed to the Google Groups 
"DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dspace-tech/d3bf2484-f687-43e1-9788-08e0ce915278n%40googlegroups.com.

Reply via email to