drop dataverse test if exists;
create dataverse test;
use dataverse test;

create type DBLPType as closed {
  id: int32, 
  dblpid: string,
  title: string,
  authors: string,
  misc: string
}

create nodegroup group1 if not exists on nc1, nc2;

create dataset DBLP(DBLPType) 
  partitioned by key id on group1;

load dataset DBLP 
using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
(("path"="nc1://data/dblp-small/dblp-small-id.txt"),("format"="delimited-text"),("delimiter"=":")) pre-sorted;

create index keyword_index on DBLP(title) type fuzzy keyword;

write output to nc1:"rttest/index-selection_fuzzy-inverted-index-word-contains.adm";

for $o in dataset('DBLP')
where contains($o.title, "Multimedia")
order by $o.id
return $o
