| commit | bbec8cf4011a0e7ce16a109d0c42c5041832c208 | [log] [tgz] |
|---|---|---|
| author | Akron <nils@diewald-online.de> | Wed Nov 29 21:34:00 2017 +0100 |
| committer | Akron <nils@diewald-online.de> | Wed Nov 29 21:34:00 2017 +0100 |
| tree | 5d5f6448ec23183f2a737d2d97170204553fea85 | |
| parent | 6855e31c3951b3e161271d30bfcbb8cd704fb771 [diff] |
Simplify Rank object and introduce key_for() Change-Id: I569be4b506766017d74bd0b2612a4fe28c6cb71a

The Krawfish Prototype is a testbed search backend for KorAP, to implement design concepts both for Kanalito and Krill.
Krawfish Prototype focusses on
Krawfish Prototype is still work in progress. The segment handling of Krawfish is based on Krill and therefore heavily inspired by Lucene and Lucy.
! This software is in its early stages and not stable yet! Use it on your own risk!
Krawfish Prototype requires Perl of at least v5.10.1. The recommended environment is based on Perlbrew with App::cpanminus.
$ git clone https://github.com/KorAP/Krawfish-prototype $ cd Krawfish-prototype $ cpanm --installdeps . $ perl Makefile.PL $ make test
use Krawfish::Koral; use Krawfish::Index; # Add documents to index my $index = Krawfish::Index->new; $index->introduce_field('docID' => 'de_DE'); $index->add_doc('t/data/doc1.jsonld'); $index->add_doc('t/data/doc2.jsonld'); $index->commit; # Start KoralQuery object my $koral = Krawfish::Koral->new; # Define a query # [einen|"d.*"][][Hut] my $query = $koral->query_builder; $koral->query( $query->seq( $query->token( $query->bool_or( 'einen', $query->term_re('d.*') ) ), $query->anywhere, $query->term('Hut') ) ); # Define a virtual corpus my $corpus = $koral->corpus_builder; $koral->corpus( $corpus->bool_and( $corpus->string('license=free'), $corpus->string('corpus=corpus-2') ) ); # Define a compilation target my $compile = $koral->compilation_builder; $koral->compilation( $compile->aggregate( $compile->a_fields('license'), $compile->a_frequencies ), $compile->enrich( $compile->e_fields('textLength') ), $compile->sort_by( $compile->s_field('docID') ) ); # Execute KoralQuery my $request = $koral->to_query ->identify($index->dict) ->optimize($index->segment); if ($request->next) { print $request->current_match->to_string; };
Copyright (C) 2017, IDS Mannheim
Author: Nils Diewald
Krawfish Prototype is free software published under the BSD-2 License.