Σάββατο, 12 Ιανουαρίου 2008

Υποστήριξη OpenSearch API στο openarchives.gr

Το πρωτόκολλο OpenSearch παρέχει έναν εύχρηστο τρόπο ανάκτησης των αποτελεσμάτων μιας μηχανής αναζήτησης σε μορφή XML. To openarchives.gr υποστηρίζει από σήμερα το OpenSearch API και δίνει την δυνατότητα σε οποιονδήποτε να πραγματοποιήσει αναζητήσεις μέσα από την εφαρμογή του ή το site του. Αν κάποιος θέλει να το χρησιμοποιήσει για οποιοδήποτε σκοπό καλό θα ήταν να με ενημερώσει πρώτα.

Με απλά λόγια
Με απλά λόγια το OpenSearch API λειτουργεί ως εξής: μια εφαρμογή που θέλει να πραγματοποιήσει μια αναζήτηση στο openarchives.gr στέλνει ένα HTTP GET Request σε ένα συγκεκριμένο php script του openarchives.gr το οποίο επιστρέφει ένα Atom Feed με τα αποτελέσματα. Στην συνέχεια η εφαρμογή μπορεί για παράδειγμα να κάνει parsing τα αποτελέσματα και να τα χρησιμοποιήσει όπως θέλει.

Μια πιθανή εφαρμογή του OpenSearch είναι το Federated Search όπου μια μηχανή αναζήτησης πραγματοποιεί ταυτόχρονη αναζήτηση σε πολλές δικτυακές μηχανές αναζήτησης και παρουσιάζει ενιαία αποτελέσματα.

Οδηγίες
Η χρήση του OpenSearch είναι ιδιαίτερα απλή. Κάνετε ένα HTTP Request στο script http://openarchives.gr/results.php με τις εξής παραμέτρους:
  • output με τιμή opensearch
  • query με τιμή την λέξη κλειδί με την οποία θέλετε να κάνετε αναζήτηση
  • Result_Set με τιμή τον αριθμό από τον οποίο ξεκινούν τα αποτελέσματα
  • Per_Page με τιμή το πλήθος των αποτελεσμάτων ανά σελίδα.
http://openarchives.gr/results.php?output=opensearch&query=(searchterm)
&Result_Set=
(startitem)&Per_Page=(itemsPerPage)

Το OpenSearch XML Description File που περιέχει τις απαραίτητες πληροφορίες για την αναζήτηση στο openarchives.gr είναι το http://openarchives.gr/opensearch_desc.xml.

Τo αποτέλεσμα του HTTP Request είναι ένα Atom Feed της μορφής OpenSearch Response.
Παραδείγματα
http://openarchives.gr/results.php?output=opensearch
&query=library&Result_Set=0&Per_Page=20


Αναζήτηση για την λέξη "library" και εμφάνιση των πρώτων 20 αποτελεσμάτων.

http://openarchives.gr/results.php?output=opensearch
&query=data+mining
&Result_Set=10&Per_Page=10

Αναζήτηση για την λέξη "data mining" και εμφάνιση των αποτελεσμάτων 10 εώς 20.

Παράδειγμα σε Perl
Κατεβάστε εδώ ένα πολύ απλό perl script: perl_opensearch.pl που χρησιμοποιεί το WWW::OpenSearch perl module για να πραγματοποιήσει μια αναζήτηση στο openarchives.gr.

Χρήσιμα
Για το validation των Atom feeds του openarchives.gr χρησιμοποιήθηκε το http://www.feedvalidator.org

Κάποιες άλλες χρήσιμες πηγές που βοήθησαν στην ανάπτυξη είναι οι παρακάτω:
Υπενθύμιση
Η πρόσβαση στο openarchives.gr OpenSearch API είναι ελεύθερη και εντελώς δωρεάν. Αν τυχόν θέλετε να χρησιμοποιήσετε αυτή την υπηρεσία, παρακαλώ ενημερώστε μας.

Δεν υπάρχουν σχόλια: