Xapian and Omega

Screenshot Λογισμικό:
Xapian and Omega
Στοιχεία Λογισμικού:
Εκδοχή: 1.2.12 / 1.3.0
Ανεβάστε ημερομηνία: 20 Feb 15
Προγραμματιστής: Xapian Team
Άδεια: Δωρεάν
Δημοτικότητα: 3

Rating: nan/5 (Total Votes: 0)

Xapian είναι μια βιβλιοθήκη Open Source Πιθανοτικές Ανάκτησης Πληροφοριών, με άδεια GPL. Xapian ISS γραμμένο σε C, με δέστρες για να επιτρέψει τη χρήση από άλλες γλώσσες (Perl, Java, Python, PHP, και TCL τη στιγμή υποστηρίζονται? Guile και C # είναι υπό επεξεργασία).
Xapian έχει σχεδιαστεί για να είναι μια ιδιαίτερα προσαρμόσιμη εργαλειοθήκη για να επιτρέπει στους προγραμματιστές να προσθέσετε εύκολα προηγμένη ευρετηρίαση και αναζήτηση εγκαταστάσεων στις δικές τους εφαρμογές.
Εάν είστε μετά από ένα συσκευασμένο μηχανή αναζήτησης για την ιστοσελίδα σας, θα πρέπει να ρίξετε μια ματιά στο Omega, η οποία είναι μια εφαρμογή που προμηθεύουν χτισμένο πάνω Xapian. Αλλά σε αντίθεση με τις περισσότερες άλλες λύσεις αναζήτησης της ιστοσελίδας, ευελιξία Xapian σας επιτρέπει να επεκτείνει την Omega να ικανοποιήσει τις ανάγκες σας καθώς μεγαλώνουν

Χαρακτηριστικά :.

    < li> Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα -. υπό την άδεια GPL
  • Εξαιρετικά φορητή - τρέχει σε πολλά Linux, MacOS X, πολλές άλλες πλατφόρμες Unix και Microsoft Windows
  • .
  • Γραμμένο σε C. Perl δέστρες είναι διαθέσιμα στην ενότητα Αναζήτηση :: Xapian στο CPAN. Τα Java JNI συνδέσεις που περιλαμβάνονται στην ενότητα Xapian-δέστρες. Υποστηρίζουμε επίσης καταρροφώ που μπορεί να δημιουργήσει συνδέσεις για 13 γλώσσες. Προς το παρόν εκείνα για Python, PHP4, και TCL εργάζονται. Πονηριά και C # είναι υπό επεξεργασία.
  • Βαθμολογήθηκε probablistic αναζήτηση - σημαντικές λέξεις παίρνουν περισσότερο βάρος από ό, τι ασήμαντα λόγια, έτσι ώστε τα πιο σημαντικά έγγραφα είναι πιο πιθανό να έρθουν κοντά στην κορυφή της λίστας αποτελεσμάτων
  • .
  • ανατροφοδότησης - δίνεται ένα ή περισσότερα έγγραφα, Xapian μπορεί να σας προτείνει τους πιο σχετικούς όρους δείκτη να επεκτείνουν ένα ερώτημα, προτείνουν τα σχετικά έγγραφα, την κατηγοριοποίηση των εγγράφων, κλπ
  • .
  • Φράση και αναζήτηση εγγύτητας -. Οι χρήστες μπορούν να αναζητήσουν τις λέξεις που συμβαίνουν σε μια ακριβή φράση ή μέσα σε ένα συγκεκριμένο αριθμό λέξεων, είτε σε μια συγκεκριμένη σειρά, ή σε οποιαδήποτε σειρά
  • Πλήρης γκάμα των δομημένων Boolean τελεστές αναζήτησης (& quot? Απόθεμα μην εμπορευθεί & quot ;, κλπ). Τα αποτελέσματα της αναζήτησης Boolean κατατάσσονται από τις probablistic βάρη. Δυαδικά φίλτρα μπορεί επίσης να εφαρμοστεί για να περιορίσεις την πιθανολογική αναζήτησης.
  • Υποστηρίζει απορρέουν από τους όρους αναζήτησης (π.χ. αναζήτηση για & quot? Ποδόσφαιρο & quot? Θα ταιριάζει με τα έγγραφα που αναφέρουν & quot? Μπάλες & quot? Ή & quot? Ποδοσφαιριστής & quot?). Αυτό βοηθά να βρείτε τα σχετικά έγγραφα που θα μπορούσαν αλλιώς να χαθεί. Οι Stemmers περιλαμβάνονται επί του παρόντος για τα δανέζικα, ολλανδικά, αγγλικά, φινλανδικά, γαλλικά, γερμανικά, ιταλικά, νορβηγικά, πορτογαλικά, ρωσικά, ισπανικά και σουηδικά.
  • Υποστηρίζει αρχεία βάσης δεδομένων & gt? 2GB -. Απαραίτητες για να αυξηθούν σε μεγάλες συλλογές εγγράφων
  • Πλατφόρμα ανεξάρτητη μορφές δεδομένων -. Μπορείτε να δημιουργήσετε μια βάση δεδομένων σε μια μηχανή αναζήτησης και σε έναν άλλον
  • επιτρέπει την ταυτόχρονη ενημέρωση και αναζήτηση. Νέα έγγραφα γίνει αναζήτηση αμέσως.

  • Εκτός από τη βιβλιοθήκη, παρέχουμε μια σειρά από μικρό παράδειγμα των προγραμμάτων, καθώς και μια μεγαλύτερη εφαρμογή - μια ευρετηρίαση και CGI-based εφαρμογή που ονομάζεται ωμέγα:
  • Το ευρετήριο που παρέχεται μπορεί δείκτη HTML, PHP, PDF, PostScript, και απλό κείμενο. Προστέθηκε υποστήριξη για την ευρετηρίαση άλλες μορφές είναι εύκολο, όπου τα φίλτρα μετατροπής είναι διαθέσιμα (π.χ. Microsoft Word). Αυτό το ευρετήριο της λειτουργεί χρησιμοποιώντας το σύστημα αρχειοθέτησης, αλλά πρέπει επίσης να παρέχουν μια δέσμη ενεργειών για να επιτραπεί η htdig web crawler να γαντζώνονται, επιτρέποντας απομακρυσμένες περιοχές για να γίνει αναζήτηση χρησιμοποιώντας Ωμέγα.
  • Μπορείτε επίσης τα στοιχεία του δείκτη από κάθε SQL ή άλλων RDBMS που υποστηρίζονται από τη μονάδα του Perl DBI. Αυτό περιλαμβάνει MySQL, PostgreSQL, SQLite, Sybase, MS SQL, LDAP, και ODBC.
  • Αναζήτηση CGI front-end που παρέχεται με ιδιαίτερα προσαρμόσιμη εμφάνιση. Αυτό μπορεί επίσης να προσαρμοστεί για παραγωγή αποτελεσμάτων σε XML ή CSV, το οποίο είναι χρήσιμο εάν είστε δυναμικά δημιουργώντας σελίδες (π.χ. με την PHP ή mod_perl) και απλά θέλουν πρώτων αποτελεσμάτων αναζήτησης που μπορείτε να επεξεργαστείτε το δικό σας κώδικα διάταξης σελίδας.

Τι είναι καινούργιο σε αυτήν την έκδοση:

  • Αυτή η έκδοση διορθώνει κάποια ήσσονος σημασίας σφάλματα και προσθέτει μερικά νέα χαρακτηριστικά .

Τι είναι καινούργιο στην έκδοση 1.2.4:

  • Αυτή η έκδοση προσθέτει ένα API για τη συγχώνευση και τη συμπίεση των βάσεων δεδομένων , κάνει πολλές βελτιώσεις στην Omega, περιλαμβάνει νέα καταρροφώ με βάση Perl δέστρες, και διορθώνει κάποια διαρροές μνήμης στην Python δέστρες.

Τι είναι καινούργιο στην έκδοση 1.0.22:

  • Αυτή η έκδοση διορθώνει διάφορα ήσσονος σημασίας σφάλματα, και βελτιώνει τη φορητότητα .

Τι είναι καινούργιο στην έκδοση 1.0.21:

  • Xapian πυρήνα API:
  • Xapian :: Stem τώρα αναγνωρίζει & quot? Nb & quot? και & quot? nn & quot? ως πρόσθετοι κωδικοί που αφορούν τη νορβηγική αναχαιτίζων.
  • Xapian :: QueryParser τώρα αναλύει σωστά μια χαρακτηρα όρος ανάμεσα σε δύο άλλους όρους (εισιτήριο # 484).
  • Matcher:
  • OP_OR να παραλείψετε το έγγραφο που ταιριάζει αν σάπιοι να OP_AND ή OP_AND_MAYBE κατά τη διάρκεια του αγώνα, σε ορισμένες περιπτώσεις. Διορθώσεις εισιτήριο # 476.
  • OP_XOR με υποερωτήματα μη-φύλλο θα μπορούσε να παραλείψετε ταιριάζουν έγγραφα, σε ορισμένες περιπτώσεις, και OP_XOR από τρεις ή περισσότερες υπο-ερωτήματα θα μπορούσαν να επιστρέψουν ανακριβή βάρη. Διορθώσεις εισιτήριο # 475.
  • OP_OR είναι τώρα πιο αποτελεσματική εάν ένα δευτερεύον ερώτημα είναι δυνητικά ακριβά (π.χ. OP_VALUE_RANGE, OP_NEAR, OP_PHRASE, PostingSource). Μια 10-πλάσια ταχύτητα με OP_VALUE_RANGE έχει παρατηρηθεί.
  • Build System:
  • Εγκαταστήστε τα αρχεία για να Xapian πιο εύκολο στη χρήση με cmake.
  • Φορητότητα:
  • Σε επεξεργαστές x86, Xapian τώρα προεπιλογή χρησιμοποιώντας τις οδηγίες SSE2 FP. Αυτό αποφεύγει τα θέματα, με περίσσεια ακρίβεια και λίγο πιο γρήγορα πάρα πολύ. Εάν πρέπει να υποστηρίξει επεξεργαστές χωρίς SSE2 (αυτό σημαίνει προ-Pentium4 για την Intel) και στη συνέχεια να ρυθμίσετε με --disable-SSE. (Εισιτήριο # 387)

Τι είναι καινούργιο στην έκδοση 1.0.18:

  • QueryParser:
  • Βελτίωση της υποστήριξης για τις γλώσσες όπως Βιρμανίας που χρησιμοποιούν Unicode που περικλείει το σήμα και το συνδυασμό τους χαρακτήρες σημάδι απόσταση.
  • Flint backend:
  • Κατά την ενημέρωση των εγγράφων, δεν ενημερώνουν απόσπαση καταχωρήσεις που δεν έχουν αλλάξει (εισιτήριο # 250).
  • Fix κωδικού κλειδώματος για να λειτουργήσει αν stdin ή / και stdout έχουν κλείσει.

Τι είναι καινούργιο στην έκδοση 1.0.13:

  • API:
  • Xapian :: Το έγγραφο αυτό δεν αποθηκεύει ποτέ άδειο τιμές ρητά. Αυτό δεν ήταν εσκεμμένη συμπεριφορά, και πώς αυτή η υπόθεση ήταν ο χειρισμός δεν ήταν τεκμηριωμένη. Η τροποποιημένη συμπεριφορά είναι συνεπής με το πώς τα μεταδεδομένα χρήστη χειρισμού. Αυτή η αλλαγή δεν είναι παρατηρήσιμη χρησιμοποιώντας Έγγραφο :: get_value (), αλλά μπορεί να παρατηρηθεί κατά την επανάληψη με έγγραφο :: values_begin (), με τη χρήση του εγγράφου :: values_count (), ή προσπαθώντας να διαγράψετε την τιμή με το έγγραφο :: remove_value ().
  • testsuite:
  • Fix testcase scaleweight4 να μην αποτύχει σε x86 όταν καταρτίζονται με -O0. Το πρόβλημα ήταν στον κώδικα testcase, και προκαλείται από την υπερβολική ακρίβεια σε ενδιάμεσες τιμές FP.
  • σεναρίων ελέγχου που ελέγχουν ότι οι επιχειρήσεις έχουν την αναμενόμενη O (...) συμπεριφορά κανένας έλεγχος χρόνου της CPU αντί του χρόνου wallclock στις περισσότερες πλατφόρμες, οι οποίες θα πρέπει να εξαλείψει περιστασιακές αποτυχίες λόγω φορτώσει αιχμές από άλλες διαδικασίες.
  • (εισιτήριο # 308)
  • αποτυχίες δοκιμή Fix λόγω SKIP_TEST_FOR_BACKEND (& quot? Inmemory & quot?) Δεν παρακάμπτοντας ενώ θα έπρεπε να οφείλεται σε σύγκριση χαρα χορδές με == (στον κορμό την τιμή επιστροφής που δοκιμάζεται είναι std :: σειρά και όχι const char *)
  • Βελτίωση της κάλυψης δοκιμής σε αρκετές περιπτώσεις γωνία.
  • Fix testcase consistency2 στην πραγματικότητα να τρέχει (ευτυχώς περνά).
  • Στην δημιουργούνται σεναρίων ελέγχου, get_description () σχετικά με την προεπιλογή κατασκευασμένο αντικείμενο της κάθε κατηγορίας καλέσετε για να βεβαιωθείτε ότι λειτουργεί (και δεν προσπαθεί να dereference NULL, ή να αποτύχει κάποια ισχυρισμό, κλπ). Όλα τα επί του παρόντος ελέγχεται τάξεις είναι ωραία - αυτό είναι για να αποφευχθούν μελλοντικές παλινδρομήσεις ή παρόμοια προβλήματα με νέες κατηγορίες
  • .
  • Στην δοκιμασία κάλυψη κατασκευής, χρησιμοποιούν & quot? - Κάλυψη & quot? αντί του & quot? -fprofile-τόξα -ftest-κάλυψη & quot?.
  • Η δέσμη δοκιμής έχει τώρα το backend inmemory σημαία ως δικαιολογητικά ορίζεται από το χρήστη μεταδεδομένα (εκτός από επανάληψη τα κλειδιά μεταδεδομένων).
  • matcher:
  • Εάν το ερώτημα περιέχει ένα δευτερεύον ερώτημα MatchAll, ελέγξτε για αυτό πριν από τον έλεγχο τους άλλους όρους, έτσι ώστε ο βρόχος που ελέγχει πόσες όρους ματς να βγείτε από νωρίς αν όλοι αγώνα.
  • Όταν ένας OR ή ANY_MAYBE διασπάστηκε σε μια και, ήμασταν προσεκτικά αλλάζουν τα παιδιά για μέγιστη απόδοση, αλλά η κατάσταση αντιστράφηκε έτσι ήμασταν στην πραγματικότητα κάνει τα πράγματα χειρότερα. Αυτό είχε παρατηρήσει επειδή με αποτέλεσμα το ίδιο ερώτημα τρέχει πιο γρήγορα όταν περισσότερα αποτελέσματα κλήθηκαν για!
  • Μόνο την κατασκευή του termname να termfreq και το βάρος του χάρτη για πρώτη subdatabase αντί να την ανακατασκευή του για κάθε μία. Επίσης, μην αντιγράψετε αυτό το χάρτη για να το επιστρέψει. Αυτό θα πρέπει να επιταχύνει τις αναζητήσεις λίγο, ειδικά όσους είναι άνω των πολλαπλών βάσεων δεδομένων.
  • Αν μια submatcher αποτύχει αλλά χειριστή λαθών μας λέει να συνεχιστεί χωρίς αυτό, απλά χρησιμοποιήστε ένα δείκτη NULL, για να σταθεί παρά τη χορήγηση μιας ειδικής εικονική αντικείμενο place-κάτοχο.
  • Κατάργηση AndPostList, υπέρ της MultiAndPostList. AndPostList χρησιμοποιείται μόνον ως προϊόν αποσύνθεσης (από AndMaybePostList και OrPostList), και δεν φαίνεται να υπάρχει ταχύτερη. Αφαίρεση μειώνει την πίεση της μνήμης cache της CPU, και είναι λιγότερο κώδικα για να διατηρηθεί.
  • έλεγχος κλήσης () αντί του skip_to () σχετικά με την προαιρετική υποκατάστημα της AND_MAYBE.
  • πυριτόλιθο backend:
  • Διορθώστε ένα σφάλμα στο TermIterator :: skip_to () πάνω από τα πλήκτρα μεταδεδομένων.
  • απομακρυσμένο backend:
  • Διορθώστε την επιλογή --interface Xapian-tcpsrv να εργαστούν για το MacOS X (εισιτήριο # 373).
  • Fix τυπογραφικό λάθος που μας έκανε να επιστρέψει το docid αντί του μέγιστου βάρους ενός εγγράφου από ένα απομακρυσμένο παιχνίδι θα μπορούσε να επιστρέψει! Αυτό θα μπορούσε να οδηγήσει σε λάθος αποτελέσματα κατά την αναζήτηση σε πολλαπλές βάσεις δεδομένων με το απομακρυσμένο backend, αλλά μάλλον συνήθως δεν είχε σημασία καθώς με BM25 τα βάρη είναι γενικά μικρή (συχνά όλα & # X3C? 1), ενώ docids είναι αναπόφευκτα & # x3e? = 1 .
  • inmemory backend:
  • Η inmemory backend δεν υποστηρίζει η διάσχιση των κλειδιών μεταδεδομένων. Προσπαθώντας να το πράξουν χρησιμοποιείται για να δώσει ένα άδειο επανάληψη, αλλά έχει πλέον σταθερά να ρίξει
  • UnimplementedError (και αυτός ο περιορισμός έχει πλέον τεκμηριωθεί).
  • σύστημα χτίσει:
  • Κατάργηση πολλά αχρησιμοποίητα εγκλείσματα κεφαλίδα και κάποιο αχρησιμοποίητο κώδικα, ο οποίος θα πρέπει να κάνει την κατασκευή πιο γρήγορα και ελαφρώς μικρότερα.
  • Διόρθωση για τη σύνταξη κάτω από --disable-backend-πυριτόλιθο, --disable-backend-τηλεχειριστήριο, και --disable-backend-inmemory.
  • Μην αφαιρείτε κανένα ενσωματωμένο πηγές & quot? Make clean & quot? ακόμα και κάτω από --make-συντηρητής λειτουργίας όπως αυτή σπάει μετάβαση σε ένα δέντρο μακριά από τον συντηρητή-mode με: κάνει distclean? ./ configure
  • Διαμόρφωση: Ενεργοποίηση περισσότερες προειδοποιήσεις ΣΣΚ - & quot? -Woverloaded-Εικονική & quot? για όλες τις εκδόσεις, & quot? -Wstrict-null-δείκτες & quot? για 4.0+, & quot? -Wlogical-op -Wmissing δηλώσεις & quot? για 4.3+. Αξίζει να σημειωθεί & quot? -Wmissing Δηλώσεις & quot? που αλιεύονται ότι consistency2 δεν είναι τρέξιμο.
  • Εσωτερικά, να καθορίσει τα λίγα μέρη όπου περνάμε std :: κορδόνι με βάση την αξία για να περάσει από const αναφορά αντί (εκτός από την περίπτωση χρειαζόμαστε ένα τροποποιήσιμο αντίγραφο ούτως ή άλλως) η συγκριτική αξιολόγηση δείχνει ότι const αναφοράς είναι ελαφρώς ταχύτερη και παράγει λιγότερο κώδικα με αναφορά ΣΣΚ υπολογίζονται εφαρμογή std :: κορδόνι - με την εφαρμογή μη-αναφορά μετρήθηκαν, const αναφοράς θα πρέπει να είναι πολύ πιο γρήγορα. (Εισιτήριο # 140)
  • τεκμηρίωσης:
  • Εγκατάσταση:. Δεν είμαστε πλέον τακτικά δοκιμή χτίσει με GCC 2.95.4 και είμαστε αυξάνοντας την ελάχιστη έκδοση του GCC που απαιτούνται για την 3.1 για Xapian 1.1.x
  • Το έγγραφο ποια πέρασμα maxitems = 0 έως Ζητήστε :: get_mset () κάνει.
  • docs / queryparser.html: Προσθέστε παραδείγματα χρησιμοποιώντας ένα πρόθεμα σε μια φράση ή υποέκφραση
  • .
  • Διορθώστε σχόλια Doxygen για τις λειτουργίες μεταδεδομένων χρήστη:. Βάση δεδομένων :: get_metadata () ρίξει UnimplementedError αλλά WritableDatabase :: set_metadata () του δοχείου
  • Έγγραφο ότι η βάση δεδομένων :: metadata_keys_begin () επιστρέφει ένα τέλος iterator αν το backend δεν υποστηρίζει μεταδεδομένα.
  • Hacking:. Ενημέρωση της λίστας του Debian / Ubuntu πακέτα που χρειάζονται για την ανάπτυξη ενός περιβάλλοντος
  • τον εντοπισμό σφαλμάτων κώδικα:
  • Διορθώστε την κατασκευή με το --enable-debug.
  • Προστέθηκε κάποιες περισσότερες ισχυρισμούς.

Τι είναι καινούργιο στην έκδοση 1.0.11:

  • Αυτή η έκδοση διορθώνει διάφορα σφάλματα και προσθέτει υποστήριξη για την Omega για την ευρετηρίαση του MS Office 2007 μορφές και τα αρχεία XPS.

Τι είναι καινούργιο στην έκδοση 1.0.10:

  • Αυτή η έκδοση διορθώνει μια πιθανή περίπτωση καταστροφής της βάσης δεδομένων, εφόσον ο δίσκος γεμίζει ενώ γραπτώς τις αλλαγές.
  • Η αρχείου κλειδώματος για μια βάση δεδομένων Flint, τώρα δημιουργείται χρησιμοποιώντας τη ρύθμιση umask.
  • Προηγουμένως, δεν ήταν δυνατό να ανοίξετε μια βάση δεδομένων με πυρόλιθο για την ενημέρωση, αν ανήκε σε έναν άλλο χρήστη, ακόμη και με επαρκή δικαιώματα μέσω & quot? Ομάδα & quot? ή & quot? άλλες & quot?.
  • συνθέτοντας ένα ερώτημα OP_NEAR με δύο μη-όρος υποερωτήματα ρίχνει τώρα UnimplementedError αντί AssertionError.

Τι είναι καινούργιο στην έκδοση 1.0.9:

  • διόρθωση ορθογραφίας είναι τώρα ακόμη πιο γρήγορα. (Α 15% της ταχύτητας μέχρι μετρήθηκε.)
  • Δύο σφάλματα που προκαλούνται από την υπερβολική ακρίβεια σε x86 Linux έχουν καθοριστεί.
  • Ερώτημα :: MatchAll δίνει πλέον ίσα βάρη σε όλα τα έγγραφα.
  • Μια σύγκρουση, ενώ η συμπίεση του πίνακα ορθογραφία έχει διορθωθεί.
  • Το παράδειγμα copydatabase τώρα αντίγραφα μεταδεδομένων χρήστη πάρα πολύ.
  • Το ωμέγα CGI δυαδικό πιάνει τώρα και εκθέσεις std :: εξαίρεση.

Σχόλια για Xapian and Omega

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!