octopus is a query engine for arrays of integers (scoring only idf at the moment), supports AND/OR/DisMax/Constant queries,
Example:
``` let queries: &mut [&mut dyn Query] = &mut [&mut Term::new(1, &[1, 2, 3]), &mut Term::new(1, &[1, 7, 9])]; let mut or = Or::new(queries);
let queries: &mut [&mut dyn Query] = &mut [ &mut Term::new(1, &[1, 2, 7]), &mut Term::new(1, &[1, 2, 4, 5, 7, 9]), &mut or, ]; let mut and = And::new(queries);
while and.next() != NOMORE { println!("doc: {}, score: {}", and.docid(), and.score()); }
```