4 releases (2 breaking)

✓ Uses Rust 2018 edition

new 0.3.0 Feb 19, 2020
0.2.0 Feb 16, 2020
0.1.1 Jan 30, 2020
0.1.0 Jan 29, 2020

#15 in Database implementations

MIT license

65KB
1.5K SLoC

tique

crates.io docs.rs License: MIT

Utilities to drive a tantivy search index

Overview

Here's a brief overview of the functionality we provide. Check the module docs for more details and examples.

conditional_collector

Collectors with built-in support for changing the ordering and cursor-based pagination (or rather: support for conditionally skipping documents that match the query).

use tique::conditional_collector::{Ascending, TopCollector};

let min_rank_collector =
    TopCollector::<f64, Ascending, _>::new(10, true).top_fast_field(f64_field);

topterms

Uses your index to find keywords and similar items to your documents or any arbitrary input.

let topterms = TopTerms::new(&index, vec![body, title])?;
let keywords = topterms.extract(5, "the quick fox jumps over the lazy dog");

let similarity_query = keywords.into_boosted_query(1.0);

Dependency Policy

This library's default dependency will always be just tantivy, anything that requires more will be added as optional feature.

Unstable

This crate contains unpolished functionality that is made available through the unstable feature flag:

  • query_parser: A very simple query parser that only knows about term and phrase queries (and their negation). Mostly an excuse to play with nom

Dependencies

~17MB
~238K SLoC