From ae8247e83d193880ca415380bb666d2f7082782a Mon Sep 17 00:00:00 2001 From: Travis CI User Date: Tue, 20 Feb 2018 04:07:37 +0000 Subject: [PATCH] Automatic Travis documentation build --- master/implementors/core/clone/trait.Clone.js | 2 +- .../implementors/core/convert/trait.From.js | 2 +- .../tantivy/fastfield/trait.FastValue.js | 10 + master/search-index.js | 2 +- master/src/tantivy/collector/mod.rs.html | 6 +- master/src/tantivy/common/bitpacker.rs.html | 16 +- .../src/tantivy/core/segment_reader.rs.html | 62 ++-- .../datastruct/stacker/hashmap.rs.html | 4 +- .../tantivy/fastfield/facet_reader.rs.html | 8 +- master/src/tantivy/fastfield/mod.rs.html | 284 ++++++++++---- .../tantivy/fastfield/multivalued/mod.rs.html | 179 ++++++++- .../fastfield/multivalued/reader.rs.html | 34 +- .../fastfield/multivalued/writer.rs.html | 238 ++++++++---- master/src/tantivy/fastfield/reader.rs.html | 346 ++++-------------- .../src/tantivy/fastfield/serializer.rs.html | 2 +- master/src/tantivy/fastfield/writer.rs.html | 32 +- master/src/tantivy/indexer/merger.rs.html | 34 +- .../tantivy/indexer/segment_writer.rs.html | 2 - master/src/tantivy/lib.rs.html | 12 +- master/src/tantivy/macros.rs.html | 2 +- master/src/tantivy/postings/mod.rs.html | 4 +- .../tantivy/postings/postings_writer.rs.html | 2 +- .../src/tantivy/query/term_query/mod.rs.html | 4 +- .../query/term_query/term_scorer.rs.html | 4 +- master/src/tantivy/query/union.rs.html | 2 +- master/tantivy/collector/index.html | 2 +- master/tantivy/fastfield/FastValue.t.html | 10 + master/tantivy/fastfield/index.html | 32 +- .../reader/struct.FastFieldReader.html | 10 + master/tantivy/fastfield/sidebar-items.js | 2 +- .../tantivy/fastfield/struct.FacetReader.html | 2 +- .../fastfield/struct.FastFieldReader.html | 171 +++++++++ .../fastfield/struct.FastFieldsWriter.html | 14 +- .../fastfield/struct.IntFastFieldWriter.html | 14 +- .../struct.MultiValueIntFastFieldReader.html | 12 +- master/tantivy/fastfield/trait.FastValue.html | 168 +++++++++ master/tantivy/index.html | 2 +- master/tantivy/macro.doc.html | 2 +- master/tantivy/postings/index.html | 2 +- master/tantivy/struct.SegmentReader.html | 45 +-- 40 files changed, 1165 insertions(+), 616 deletions(-) create mode 100644 master/implementors/tantivy/fastfield/trait.FastValue.js create mode 100644 master/tantivy/fastfield/FastValue.t.html create mode 100644 master/tantivy/fastfield/reader/struct.FastFieldReader.html create mode 100644 master/tantivy/fastfield/struct.FastFieldReader.html create mode 100644 master/tantivy/fastfield/trait.FastValue.html diff --git a/master/implementors/core/clone/trait.Clone.js b/master/implementors/core/clone/trait.Clone.js index fcdda7720..c1b525e32 100644 --- a/master/implementors/core/clone/trait.Clone.js +++ b/master/implementors/core/clone/trait.Clone.js @@ -33,7 +33,7 @@ implementors["serde_derive_internals"] = ["impl Clone for Category","impl Clone for Map<String, Value>","impl Clone for CompactFormatter","impl<'a> Clone for PrettyFormatter<'a>","impl Clone for Value","impl Clone for Number",]; implementors["syn"] = ["impl Clone for Attribute","impl Clone for AttrStyle","impl Clone for MetaItem","impl Clone for NestedMetaItem","impl Clone for ConstExpr","impl Clone for Variant","impl Clone for VariantData","impl Clone for Field","impl Clone for Visibility","impl Clone for Generics","impl Clone for Lifetime","impl Clone for LifetimeDef","impl Clone for TyParam","impl Clone for TyParamBound","impl Clone for TraitBoundModifier","impl Clone for WhereClause","impl Clone for WherePredicate","impl Clone for WhereBoundPredicate","impl Clone for WhereRegionPredicate","impl Clone for WhereEqPredicate","impl Clone for Ident","impl Clone for Lit","impl Clone for StrStyle","impl Clone for IntTy","impl Clone for FloatTy","impl Clone for StrLit","impl Clone for ByteStrLit","impl Clone for IntLit","impl Clone for FloatLit","impl Clone for Mac","impl Clone for TokenTree","impl Clone for Delimited","impl Clone for Token","impl Clone for BinOpToken","impl Clone for DelimToken","impl Clone for DeriveInput","impl Clone for Body","impl Clone for BinOp","impl Clone for UnOp","impl Clone for Ty","impl Clone for MutTy","impl Clone for Mutability","impl Clone for Path","impl Clone for PathSegment","impl Clone for PathParameters","impl Clone for AngleBracketedParameterData","impl Clone for TypeBinding","impl Clone for ParenthesizedParameterData","impl Clone for PolyTraitRef","impl Clone for QSelf","impl Clone for BareFnTy","impl Clone for Unsafety","impl Clone for Abi","impl Clone for BareFnArg","impl Clone for FunctionRetTy",]; implementors["synom"] = ["impl<I: Clone, O: Clone> Clone for IResult<I, O>",]; -implementors["tantivy"] = ["impl Clone for Index","impl Clone for SegmentReader","impl Clone for SegmentId","impl Clone for SegmentComponent","impl Clone for Segment","impl Clone for SegmentMeta","impl Clone for LogMergePolicy","impl Clone for SimpleTokenizer","impl Clone for LowerCaser","impl Clone for RemoveLongFilter","impl Clone for Stemmer","impl Clone for FacetTokenizer","impl Clone for TokenizerManager","impl Clone for JapaneseTokenizer","impl Clone for RawTokenizer","impl Clone for AlphaNumOnlyFilter","impl Clone for StoreReader","impl Clone for Occur","impl Clone for MmapDirectory","impl Clone for RAMDirectory","impl Clone for ReadOnlySource","impl Clone for TermInfo","impl Clone for Schema","impl<B: Clone> Clone for Term<B> where
    B: AsRef<[u8]>, 
","impl Clone for Document","impl Clone for Facet","impl Clone for FieldType","impl Clone for FieldEntry","impl Clone for FieldValue","impl Clone for TextOptions","impl Clone for TextFieldIndexing","impl Clone for Cardinality","impl Clone for IntOptions","impl Clone for Field","impl Clone for Value","impl Clone for IndexRecordOption","impl Clone for U64FastFieldReader","impl Clone for DeleteBitSet","impl Clone for MultiValueIntFastFieldReader","impl Clone for DocAddress",]; +implementors["tantivy"] = ["impl Clone for Index","impl Clone for SegmentReader","impl Clone for SegmentId","impl Clone for SegmentComponent","impl Clone for Segment","impl Clone for SegmentMeta","impl Clone for LogMergePolicy","impl Clone for SimpleTokenizer","impl Clone for LowerCaser","impl Clone for RemoveLongFilter","impl Clone for Stemmer","impl Clone for FacetTokenizer","impl Clone for TokenizerManager","impl Clone for JapaneseTokenizer","impl Clone for RawTokenizer","impl Clone for AlphaNumOnlyFilter","impl Clone for StoreReader","impl Clone for Occur","impl Clone for MmapDirectory","impl Clone for RAMDirectory","impl Clone for ReadOnlySource","impl Clone for TermInfo","impl Clone for Schema","impl<B: Clone> Clone for Term<B> where
    B: AsRef<[u8]>, 
","impl Clone for Document","impl Clone for Facet","impl Clone for FieldType","impl Clone for FieldEntry","impl Clone for FieldValue","impl Clone for TextOptions","impl Clone for TextFieldIndexing","impl Clone for Cardinality","impl Clone for IntOptions","impl Clone for Field","impl Clone for Value","impl Clone for IndexRecordOption","impl<Item: Clone + FastValue> Clone for FastFieldReader<Item>","impl Clone for DeleteBitSet","impl<Item: Clone + FastValue> Clone for MultiValueIntFastFieldReader<Item>","impl Clone for DocAddress",]; implementors["tempfile"] = ["impl<'a, 'b> Clone for NamedTempFileOptions<'a, 'b>",]; implementors["time"] = ["impl Clone for Duration","impl Clone for OutOfRangeError","impl Clone for Timespec","impl Clone for PreciseTime","impl Clone for SteadyTime","impl Clone for Tm","impl Clone for ParseError",]; implementors["utf8_ranges"] = ["impl Clone for Utf8Sequence","impl Clone for Utf8Range",]; diff --git a/master/implementors/core/convert/trait.From.js b/master/implementors/core/convert/trait.From.js index 10dfe1175..136eb0d49 100644 --- a/master/implementors/core/convert/trait.From.js +++ b/master/implementors/core/convert/trait.From.js @@ -14,7 +14,7 @@ implementors["quote"] = ["impl<'a> From<Error> for Error","impl<'t> From<Match<'t>> for &'t str",]; implementors["serde_json"] = ["impl From<Error> for Error","impl From<i8> for Value","impl From<i16> for Value","impl From<i32> for Value","impl From<i64> for Value","impl From<isize> for Value","impl From<u8> for Value","impl From<u16> for Value","impl From<u32> for Value","impl From<u64> for Value","impl From<usize> for Value","impl From<f32> for Value","impl From<f64> for Value","impl From<bool> for Value","impl From<String> for Value","impl<'a> From<&'a str> for Value","impl<'a> From<Cow<'a, str>> for Value","impl From<Map<String, Value>> for Value","impl<T: Into<Value>> From<Vec<T>> for Value","impl<'a, T: Clone + Into<Value>> From<&'a [T]> for Value","impl From<i8> for Number","impl From<i16> for Number","impl From<i32> for Number","impl From<i64> for Number","impl From<isize> for Number","impl From<u8> for Number","impl From<u16> for Number","impl From<u32> for Number","impl From<u64> for Number","impl From<usize> for Number",]; implementors["syn"] = ["impl From<Ident> for TyParam","impl<'a> From<&'a str> for Ident","impl<'a> From<Cow<'a, str>> for Ident","impl From<String> for Ident","impl From<usize> for Ident","impl From<String> for Lit","impl<'a> From<&'a str> for Lit","impl From<Vec<u8>> for Lit","impl<'a> From<&'a [u8]> for Lit","impl From<char> for Lit","impl From<bool> for Lit","impl From<isize> for Lit","impl From<i8> for Lit","impl From<i16> for Lit","impl From<i32> for Lit","impl From<i64> for Lit","impl From<usize> for Lit","impl From<u8> for Lit","impl From<u16> for Lit","impl From<u32> for Lit","impl From<u64> for Lit","impl From<f32> for Lit","impl From<f64> for Lit","impl<T> From<T> for Path where
    T: Into<PathSegment>, 
","impl<T> From<T> for PathSegment where
    T: Into<Ident>, 
",]; -implementors["tantivy"] = ["impl From<Vec<SegmentReader>> for Searcher","impl From<ErrorKind> for Error","impl<'a> From<&'a str> for Error","impl From<String> for Error","impl<'a> From<&'a str> for ErrorKind","impl From<String> for ErrorKind","impl From<Error> for ErrorKind","impl From<FastFieldNotAvailableError> for Error","impl From<IOError> for Error","impl From<Error> for Error","impl From<QueryParserError> for Error","impl<Guard> From<PoisonError<Guard>> for Error","impl From<OpenReadError> for Error","impl From<DocParsingError> for Error","impl From<OpenWriteError> for Error","impl From<OpenDirectoryError> for Error","impl From<Error> for Error","impl From<Vec<(Occur, Box<Query>)>> for BooleanQuery","impl From<ParseIntError> for QueryParserError","impl From<Vec<Term>> for PhraseQuery","impl<TScorer, TScoreCombiner> From<Vec<TScorer>> for Union<TScorer, TScoreCombiner> where
    TScoreCombiner: ScoreCombiner,
    TScorer: Scorer
","impl<TDocSet: DocSet> From<Vec<TDocSet>> for Intersection<TDocSet>","impl From<Vec<u8>> for ReadOnlySource","impl From<Error> for IOError","impl From<IOError> for OpenWriteError","impl From<IOError> for OpenReadError","impl From<IOError> for DeleteError","impl From<SchemaBuilder> for Schema","impl From<Vec<FieldValue>> for Document","impl<'a, T: ?Sized + AsRef<str>> From<&'a T> for Facet","impl From<String> for Value","impl From<u64> for Value","impl From<i64> for Value","impl<'a> From<&'a str> for Value","impl<'a> From<Facet> for Value","impl From<Vec<u64>> for U64FastFieldReader",]; +implementors["tantivy"] = ["impl From<Vec<SegmentReader>> for Searcher","impl From<ErrorKind> for Error","impl<'a> From<&'a str> for Error","impl From<String> for Error","impl<'a> From<&'a str> for ErrorKind","impl From<String> for ErrorKind","impl From<Error> for ErrorKind","impl From<FastFieldNotAvailableError> for Error","impl From<IOError> for Error","impl From<Error> for Error","impl From<QueryParserError> for Error","impl<Guard> From<PoisonError<Guard>> for Error","impl From<OpenReadError> for Error","impl From<DocParsingError> for Error","impl From<OpenWriteError> for Error","impl From<OpenDirectoryError> for Error","impl From<Error> for Error","impl From<Vec<(Occur, Box<Query>)>> for BooleanQuery","impl From<ParseIntError> for QueryParserError","impl From<Vec<Term>> for PhraseQuery","impl<TScorer, TScoreCombiner> From<Vec<TScorer>> for Union<TScorer, TScoreCombiner> where
    TScoreCombiner: ScoreCombiner,
    TScorer: Scorer
","impl<TDocSet: DocSet> From<Vec<TDocSet>> for Intersection<TDocSet>","impl From<Vec<u8>> for ReadOnlySource","impl From<Error> for IOError","impl From<IOError> for OpenWriteError","impl From<IOError> for OpenReadError","impl From<IOError> for DeleteError","impl From<SchemaBuilder> for Schema","impl From<Vec<FieldValue>> for Document","impl<'a, T: ?Sized + AsRef<str>> From<&'a T> for Facet","impl From<String> for Value","impl From<u64> for Value","impl From<i64> for Value","impl<'a> From<&'a str> for Value","impl<'a> From<Facet> for Value","impl<Item: FastValue> From<Vec<Item>> for FastFieldReader<Item>",]; implementors["tempfile"] = ["impl From<PersistError> for Error","impl From<PersistError> for NamedTempFile","impl From<NamedTempFile> for File",]; if (window.register_implementors) { diff --git a/master/implementors/tantivy/fastfield/trait.FastValue.js b/master/implementors/tantivy/fastfield/trait.FastValue.js new file mode 100644 index 000000000..674e37f31 --- /dev/null +++ b/master/implementors/tantivy/fastfield/trait.FastValue.js @@ -0,0 +1,10 @@ +(function() {var implementors = {}; +implementors["tantivy"] = []; + + if (window.register_implementors) { + window.register_implementors(implementors); + } else { + window.pending_implementors = implementors; + } + +})() diff --git a/master/search-index.js b/master/search-index.js index edb3132c7..76ee40f93 100644 --- a/master/search-index.js +++ b/master/search-index.js @@ -49,7 +49,7 @@ searchIndex["serde_json"] = {"doc":"Serde JSON","items":[[3,"Deserializer","serd searchIndex["stable_deref_trait"] = {"doc":"This module defines an unsafe marker trait, StableDeref, for container types that deref to a fixed address which is valid even when the containing type is moved. For example, Box, Vec, Rc, Arc and String implement this trait. Additionally, it defines CloneStableDeref for types like Rc where clones deref to the same address.","items":[[8,"StableDeref","stable_deref_trait","An unsafe marker trait for types that deref to a stable address, even when moved. For example, this is implemented by Box, Vec, Rc, Arc and String, among others. Even when a Box is moved, the underlying storage remains at a fixed location.",null,null],[8,"CloneStableDeref","","An unsafe marker trait for types where clones deref to the same address. This has all the requirements of StableDeref, and additionally requires that after calling clone(), both the old and new value deref to the same address. For example, Rc and Arc implement CloneStableDeref, but Box and Vec do not.",null,null]],"paths":[]}; searchIndex["syn"] = {"doc":"","items":[[3,"Attribute","syn","Doc-comments are promoted to attributes that have `is_sugared_doc` = true",null,null],[12,"style","","",0,null],[12,"value","","",0,null],[12,"is_sugared_doc","","",0,null],[3,"Field","","A field of a struct or enum variant.",null,null],[12,"ident","","Name of the field, if any.",1,null],[12,"vis","","Visibility of the field.",1,null],[12,"attrs","","Attributes tagged on the field.",1,null],[12,"ty","","Type of the field.",1,null],[3,"Variant","","An enum variant.",null,null],[12,"ident","","Name of the variant.",2,null],[12,"attrs","","Attributes tagged on the variant.",2,null],[12,"data","","Type of variant.",2,null],[12,"discriminant","","Explicit discriminant, e.g. `Foo = 1`",2,null],[3,"Generics","","Represents lifetimes and type parameters attached to a declaration of a function, enum, trait, etc.",null,null],[12,"lifetimes","","",3,null],[12,"ty_params","","",3,null],[12,"where_clause","","",3,null],[3,"Lifetime","","",null,null],[12,"ident","","",4,null],[3,"LifetimeDef","","A lifetime definition, e.g. `'a: 'b+'c+'d`",null,null],[12,"attrs","","",5,null],[12,"lifetime","","",5,null],[12,"bounds","","",5,null],[3,"TyParam","","A generic type parameter, e.g. `T: Into`.",null,null],[12,"attrs","","",6,null],[12,"ident","","",6,null],[12,"bounds","","",6,null],[12,"default","","",6,null],[3,"WhereBoundPredicate","","A type bound.",null,null],[12,"bound_lifetimes","","Any lifetimes from a `for` binding",7,null],[12,"bounded_ty","","The type being bounded",7,null],[12,"bounds","","Trait and lifetime bounds (`Clone+Send+'static`)",7,null],[3,"WhereClause","","A `where` clause in a definition",null,null],[12,"predicates","","",8,null],[3,"WhereEqPredicate","","An equality predicate (unsupported).",null,null],[12,"lhs_ty","","",9,null],[12,"rhs_ty","","",9,null],[3,"WhereRegionPredicate","","A lifetime predicate.",null,null],[12,"lifetime","","",10,null],[12,"bounds","","",10,null],[3,"ImplGenerics","","Returned by `Generics::split_for_impl`.",null,null],[3,"Turbofish","","Returned by `TyGenerics::as_turbofish`.",null,null],[3,"TyGenerics","","Returned by `Generics::split_for_impl`.",null,null],[3,"Ident","","",null,null],[3,"ByteStrLit","","",null,null],[12,"value","","",11,null],[12,"style","","",11,null],[3,"FloatLit","","",null,null],[12,"value","","",12,null],[12,"suffix","","",12,null],[3,"IntLit","","",null,null],[12,"value","","",13,null],[12,"suffix","","",13,null],[3,"StrLit","","",null,null],[12,"value","","",14,null],[12,"style","","",14,null],[3,"Delimited","","",null,null],[12,"delim","","The type of delimiter",15,null],[12,"tts","","The delimited sequence of token trees",15,null],[3,"Mac","","Represents a macro invocation. The Path indicates which macro is being invoked, and the vector of token-trees contains the source of the macro invocation.",null,null],[12,"path","","",16,null],[12,"tts","","",16,null],[3,"DeriveInput","","Struct or enum sent to a `proc_macro_derive` macro.",null,null],[12,"ident","","Name of the struct or enum.",17,null],[12,"vis","","Visibility of the struct or enum.",17,null],[12,"attrs","","Attributes tagged on the whole struct or enum.",17,null],[12,"generics","","Generics required to complete the definition.",17,null],[12,"body","","Data within the struct or enum.",17,null],[3,"AngleBracketedParameterData","","A path like `Foo<'a, T>`",null,null],[12,"lifetimes","","The lifetime parameters for this path segment.",18,null],[12,"types","","The type parameters for this path segment, if present.",18,null],[12,"bindings","","Bindings (equality constraints) on associated types, if present.",18,null],[3,"BareFnArg","","An argument in a function type.",null,null],[12,"name","","",19,null],[12,"ty","","",19,null],[3,"BareFnTy","","",null,null],[12,"unsafety","","",20,null],[12,"abi","","",20,null],[12,"lifetimes","","",20,null],[12,"inputs","","",20,null],[12,"output","","",20,null],[12,"variadic","","",20,null],[3,"MutTy","","",null,null],[12,"ty","","",21,null],[12,"mutability","","",21,null],[3,"ParenthesizedParameterData","","A path like `Foo(A,B) -> C`",null,null],[12,"inputs","","`(A, B)`",22,null],[12,"output","","`C`",22,null],[3,"Path","","A \"Path\" is essentially Rust's notion of a name.",null,null],[12,"global","","A `::foo` path, is relative to the crate root rather than current module (like paths in an import).",23,null],[12,"segments","","The segments in the path: the things separated by `::`.",23,null],[3,"PathSegment","","A segment of a path: an identifier, an optional lifetime, and a set of types.",null,null],[12,"ident","","The identifier portion of this path segment.",24,null],[12,"parameters","","Type/lifetime parameters attached to this path. They come in two flavors: `Path` and `Path(A,B) -> C`. Note that this is more than just simple syntactic sugar; the use of parens affects the region binding rules, so we preserve the distinction.",24,null],[3,"PolyTraitRef","","",null,null],[12,"bound_lifetimes","","The `'a` in `<'a> Foo<&'a T>`",25,null],[12,"trait_ref","","The `Foo<&'a T>` in `<'a> Foo<&'a T>`",25,null],[3,"QSelf","","The explicit Self type in a \"qualified path\". The actual path, including the trait and the associated item, is stored separately. `position` represents the index of the associated item qualified with this Self type.",null,null],[12,"ty","","",26,null],[12,"position","","",26,null],[3,"TypeBinding","","Bind a type to an associated type: `A=Foo`.",null,null],[12,"ident","","",27,null],[12,"ty","","",27,null],[4,"AttrStyle","","Distinguishes between Attributes that decorate items and Attributes that are contained as statements within items. These two cases need to be distinguished for pretty-printing.",null,null],[13,"Outer","","Attribute of the form `#![...]`.",28,null],[13,"Inner","","Attribute of the form `#[...]`.",28,null],[4,"MetaItem","","A compile-time attribute item.",null,null],[13,"Word","","Word meta item.",29,null],[13,"List","","List meta item.",29,null],[13,"NameValue","","Name-value meta item.",29,null],[4,"NestedMetaItem","","Possible values inside of compile-time attribute lists.",null,null],[13,"MetaItem","","A full `MetaItem`.",30,null],[13,"Literal","","A Rust literal.",30,null],[4,"ConstExpr","","",null,null],[13,"Call","","A function call",31,null],[13,"Binary","","A binary operation (For example: `a + b`, `a * b`)",31,null],[13,"Unary","","A unary operation (For example: `!x`, `*x`)",31,null],[13,"Lit","","A literal (For example: `1`, `\"foo\"`)",31,null],[13,"Cast","","A cast (`foo as f64`)",31,null],[13,"Path","","Variable reference, possibly containing `::` and/or type parameters, e.g. foo::bar::.",31,null],[13,"Index","","An indexing operation (`foo[2]`)",31,null],[13,"Paren","","No-op: used solely so we can pretty-print faithfully",31,null],[13,"Other","","If compiling with full support for expression syntax, any expression is allowed",31,null],[4,"VariantData","","Data stored within an enum variant or struct.",null,null],[13,"Struct","","Struct variant, e.g. `Point { x: f64, y: f64 }`.",32,null],[13,"Tuple","","Tuple variant, e.g. `Some(T)`.",32,null],[13,"Unit","","Unit variant, e.g. `None`.",32,null],[4,"Visibility","","Visibility level of an item.",null,null],[13,"Public","","Public, i.e. `pub`.",33,null],[13,"Crate","","Crate-visible, i.e. `pub(crate)`.",33,null],[13,"Restricted","","Restricted, e.g. `pub(some::module)`.",33,null],[13,"Inherited","","Inherited, i.e. private.",33,null],[4,"TraitBoundModifier","","A modifier on a bound, currently this is only used for `?Sized`, where the modifier is `Maybe`. Negative bounds should also be handled here.",null,null],[13,"None","","",34,null],[13,"Maybe","","",34,null],[4,"TyParamBound","","The AST represents all type param bounds as types. `typeck::collect::compute_bounds` matches these against the \"special\" built-in traits (see `middle::lang_items`) and detects Copy, Send and Sync.",null,null],[13,"Trait","","",35,null],[13,"Region","","",35,null],[4,"WherePredicate","","A single predicate in a `where` clause",null,null],[13,"BoundPredicate","","A type binding, e.g. `for<'c> Foo: Send+Clone+'c`",36,null],[13,"RegionPredicate","","A lifetime predicate, e.g. `'a: 'b+'c`",36,null],[13,"EqPredicate","","An equality predicate (unsupported)",36,null],[4,"FloatTy","","",null,null],[13,"F32","","",37,null],[13,"F64","","",37,null],[13,"Unsuffixed","","",37,null],[4,"IntTy","","",null,null],[13,"Isize","","",38,null],[13,"I8","","",38,null],[13,"I16","","",38,null],[13,"I32","","",38,null],[13,"I64","","",38,null],[13,"Usize","","",38,null],[13,"U8","","",38,null],[13,"U16","","",38,null],[13,"U32","","",38,null],[13,"U64","","",38,null],[13,"Unsuffixed","","",38,null],[4,"Lit","","Literal kind.",null,null],[13,"Str","","A string literal (`\"foo\"`)",39,null],[13,"ByteStr","","A byte string (`b\"foo\"`)",39,null],[13,"Byte","","A byte char (`b'f'`)",39,null],[13,"Char","","A character literal (`'a'`)",39,null],[13,"Int","","An integer literal (`1`)",39,null],[13,"Float","","A float literal (`1f64` or `1E10f64` or `1.0E10`)",39,null],[13,"Bool","","A boolean literal",39,null],[4,"StrStyle","","",null,null],[13,"Cooked","","A regular string, like `\"foo\"`",40,null],[13,"Raw","","A raw string, like `r##\"foo\"##`",40,null],[4,"BinOpToken","","",null,null],[13,"Plus","","",41,null],[13,"Minus","","",41,null],[13,"Star","","",41,null],[13,"Slash","","",41,null],[13,"Percent","","",41,null],[13,"Caret","","",41,null],[13,"And","","",41,null],[13,"Or","","",41,null],[13,"Shl","","",41,null],[13,"Shr","","",41,null],[4,"DelimToken","","A delimiter token",null,null],[13,"Paren","","A round parenthesis: `(` or `)`",42,null],[13,"Bracket","","A square bracket: `[` or `]`",42,null],[13,"Brace","","A curly brace: `{` or `}`",42,null],[4,"Token","","",null,null],[13,"Eq","","",43,null],[13,"Lt","","",43,null],[13,"Le","","",43,null],[13,"EqEq","","",43,null],[13,"Ne","","",43,null],[13,"Ge","","",43,null],[13,"Gt","","",43,null],[13,"AndAnd","","",43,null],[13,"OrOr","","",43,null],[13,"Not","","",43,null],[13,"Tilde","","",43,null],[13,"BinOp","","",43,null],[13,"BinOpEq","","",43,null],[13,"At","","",43,null],[13,"Dot","","",43,null],[13,"DotDot","","",43,null],[13,"DotDotDot","","",43,null],[13,"Comma","","",43,null],[13,"Semi","","",43,null],[13,"Colon","","",43,null],[13,"ModSep","","",43,null],[13,"RArrow","","",43,null],[13,"LArrow","","",43,null],[13,"FatArrow","","",43,null],[13,"Pound","","",43,null],[13,"Dollar","","",43,null],[13,"Question","","",43,null],[13,"Literal","","",43,null],[13,"Ident","","",43,null],[13,"Underscore","","",43,null],[13,"Lifetime","","",43,null],[13,"DocComment","","",43,null],[4,"TokenTree","","When the main rust parser encounters a syntax-extension invocation, it parses the arguments to the invocation as a token-tree. This is a very loose structure, such that all sorts of different AST-fragments can be passed to syntax extensions using a uniform type.",null,null],[13,"Token","","A single token",44,null],[13,"Delimited","","A delimited sequence of token trees",44,null],[4,"Body","","Body of a derived struct or enum.",null,null],[13,"Enum","","It's an enum.",45,null],[13,"Struct","","It's a struct.",45,null],[4,"BinOp","","",null,null],[13,"Add","","The `+` operator (addition)",46,null],[13,"Sub","","The `-` operator (subtraction)",46,null],[13,"Mul","","The `*` operator (multiplication)",46,null],[13,"Div","","The `/` operator (division)",46,null],[13,"Rem","","The `%` operator (modulus)",46,null],[13,"And","","The `&&` operator (logical and)",46,null],[13,"Or","","The `||` operator (logical or)",46,null],[13,"BitXor","","The `^` operator (bitwise xor)",46,null],[13,"BitAnd","","The `&` operator (bitwise and)",46,null],[13,"BitOr","","The `|` operator (bitwise or)",46,null],[13,"Shl","","The `<<` operator (shift left)",46,null],[13,"Shr","","The `>>` operator (shift right)",46,null],[13,"Eq","","The `==` operator (equality)",46,null],[13,"Lt","","The `<` operator (less than)",46,null],[13,"Le","","The `<=` operator (less than or equal to)",46,null],[13,"Ne","","The `!=` operator (not equal to)",46,null],[13,"Ge","","The `>=` operator (greater than or equal to)",46,null],[13,"Gt","","The `>` operator (greater than)",46,null],[4,"UnOp","","",null,null],[13,"Deref","","The `*` operator for dereferencing",47,null],[13,"Not","","The `!` operator for logical inversion",47,null],[13,"Neg","","The `-` operator for negation",47,null],[4,"Abi","","",null,null],[13,"Named","","",48,null],[13,"Rust","","",48,null],[4,"FunctionRetTy","","",null,null],[13,"Default","","Return type is not specified.",49,null],[13,"Ty","","Everything else",49,null],[4,"Mutability","","",null,null],[13,"Mutable","","",50,null],[13,"Immutable","","",50,null],[4,"PathParameters","","Parameters of a path segment.",null,null],[13,"AngleBracketed","","The `<'a, A, B, C>` in `foo::bar::baz::<'a, A, B, C>`",51,null],[13,"Parenthesized","","The `(A, B)` and `C` in `Foo(A, B) -> C`",51,null],[4,"Ty","","The different kinds of types recognized by the compiler",null,null],[13,"Slice","","A variable-length array (`[T]`)",52,null],[13,"Array","","A fixed length array (`[T; n]`)",52,null],[13,"Ptr","","A raw pointer (`*const T` or `*mut T`)",52,null],[13,"Rptr","","A reference (`&'a T` or `&'a mut T`)",52,null],[13,"BareFn","","A bare function (e.g. `fn(usize) -> bool`)",52,null],[13,"Never","","The never type (`!`)",52,null],[13,"Tup","","A tuple (`(A, B, C, D, ...)`)",52,null],[13,"Path","","A path (`module::module::...::Type`), optionally \"qualified\", e.g. ` as SomeTrait>::SomeType`.",52,null],[13,"TraitObject","","A trait object type `Bound1 + Bound2 + Bound3` where `Bound` is a trait or a lifetime.",52,null],[13,"ImplTrait","","An `impl Bound1 + Bound2 + Bound3` type where `Bound` is a trait or a lifetime.",52,null],[13,"Paren","","No-op; kept solely so that we can pretty-print faithfully",52,null],[13,"Infer","","TyKind::Infer means the type should be inferred instead of it having been specified. This can appear anywhere in a type.",52,null],[13,"Mac","","A macro in the type position.",52,null],[4,"Unsafety","","",null,null],[13,"Unsafe","","",53,null],[13,"Normal","","",53,null],[5,"parse_derive_input","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["deriveinput","string"],"name":"result"}}],[5,"parse_type","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["ty","string"],"name":"result"}}],[5,"parse_path","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["path","string"],"name":"result"}}],[5,"parse_where_clause","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["whereclause","string"],"name":"result"}}],[5,"parse_token_trees","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["vec","string"],"name":"result"}}],[5,"parse_ident","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["ident","string"],"name":"result"}}],[5,"parse_ty_param_bound","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["typarambound","string"],"name":"result"}}],[5,"parse_outer_attr","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["attribute","string"],"name":"result"}}],[11,"to_tokens","","",0,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",29,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",30,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",0,{"inputs":[{"name":"self"}],"output":{"name":"attribute"}}],[11,"eq","","",0,{"inputs":[{"name":"self"},{"name":"attribute"}],"output":{"name":"bool"}}],[11,"ne","","",0,{"inputs":[{"name":"self"},{"name":"attribute"}],"output":{"name":"bool"}}],[11,"hash","","",0,null],[11,"name","","",0,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"fmt","","",28,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",28,{"inputs":[{"name":"self"}],"output":{"name":"attrstyle"}}],[11,"eq","","",28,{"inputs":[{"name":"self"},{"name":"attrstyle"}],"output":{"name":"bool"}}],[11,"hash","","",28,null],[11,"fmt","","",29,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",29,{"inputs":[{"name":"self"}],"output":{"name":"metaitem"}}],[11,"eq","","",29,{"inputs":[{"name":"self"},{"name":"metaitem"}],"output":{"name":"bool"}}],[11,"ne","","",29,{"inputs":[{"name":"self"},{"name":"metaitem"}],"output":{"name":"bool"}}],[11,"hash","","",29,null],[11,"name","","Name of the item.",29,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"fmt","","",30,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",30,{"inputs":[{"name":"self"}],"output":{"name":"nestedmetaitem"}}],[11,"eq","","",30,{"inputs":[{"name":"self"},{"name":"nestedmetaitem"}],"output":{"name":"bool"}}],[11,"ne","","",30,{"inputs":[{"name":"self"},{"name":"nestedmetaitem"}],"output":{"name":"bool"}}],[11,"hash","","",30,null],[11,"to_tokens","","",31,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",31,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",31,{"inputs":[{"name":"self"}],"output":{"name":"constexpr"}}],[11,"eq","","",31,{"inputs":[{"name":"self"},{"name":"constexpr"}],"output":{"name":"bool"}}],[11,"ne","","",31,{"inputs":[{"name":"self"},{"name":"constexpr"}],"output":{"name":"bool"}}],[11,"hash","","",31,null],[11,"to_tokens","","",2,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",32,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",1,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",33,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",2,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",2,{"inputs":[{"name":"self"}],"output":{"name":"variant"}}],[11,"eq","","",2,{"inputs":[{"name":"self"},{"name":"variant"}],"output":{"name":"bool"}}],[11,"ne","","",2,{"inputs":[{"name":"self"},{"name":"variant"}],"output":{"name":"bool"}}],[11,"hash","","",2,null],[11,"fmt","","",32,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",32,{"inputs":[{"name":"self"}],"output":{"name":"variantdata"}}],[11,"eq","","",32,{"inputs":[{"name":"self"},{"name":"variantdata"}],"output":{"name":"bool"}}],[11,"ne","","",32,{"inputs":[{"name":"self"},{"name":"variantdata"}],"output":{"name":"bool"}}],[11,"hash","","",32,null],[11,"fields","","Slice containing the fields stored in the variant.",32,null],[11,"fields_mut","","Mutable slice containing the fields stored in the variant.",32,null],[11,"fmt","","",1,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",1,{"inputs":[{"name":"self"}],"output":{"name":"field"}}],[11,"eq","","",1,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"ne","","",1,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"hash","","",1,null],[11,"fmt","","",33,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",33,{"inputs":[{"name":"self"}],"output":{"name":"visibility"}}],[11,"eq","","",33,{"inputs":[{"name":"self"},{"name":"visibility"}],"output":{"name":"bool"}}],[11,"ne","","",33,{"inputs":[{"name":"self"},{"name":"visibility"}],"output":{"name":"bool"}}],[11,"hash","","",33,null],[11,"to_tokens","","",3,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",54,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",55,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",56,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",4,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",5,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",6,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",35,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",8,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",36,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",7,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",10,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",9,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",3,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",3,{"inputs":[{"name":"self"}],"output":{"name":"generics"}}],[11,"eq","","",3,{"inputs":[{"name":"self"},{"name":"generics"}],"output":{"name":"bool"}}],[11,"ne","","",3,{"inputs":[{"name":"self"},{"name":"generics"}],"output":{"name":"bool"}}],[11,"default","","",3,{"inputs":[],"output":{"name":"generics"}}],[11,"hash","","",3,null],[11,"fmt","","",54,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",55,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",56,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"split_for_impl","","Split a type's generics into the pieces required for impl'ing a trait for that type.",3,null],[11,"as_turbofish","","Turn a type's generics like `` into a turbofish like `::`.",55,{"inputs":[{"name":"self"}],"output":{"name":"turbofish"}}],[11,"fmt","","",4,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",4,{"inputs":[{"name":"self"}],"output":{"name":"lifetime"}}],[11,"eq","","",4,{"inputs":[{"name":"self"},{"name":"lifetime"}],"output":{"name":"bool"}}],[11,"ne","","",4,{"inputs":[{"name":"self"},{"name":"lifetime"}],"output":{"name":"bool"}}],[11,"hash","","",4,null],[11,"cmp","","",4,{"inputs":[{"name":"self"},{"name":"lifetime"}],"output":{"name":"ordering"}}],[11,"partial_cmp","","",4,{"inputs":[{"name":"self"},{"name":"lifetime"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",4,{"inputs":[{"name":"self"},{"name":"lifetime"}],"output":{"name":"bool"}}],[11,"le","","",4,{"inputs":[{"name":"self"},{"name":"lifetime"}],"output":{"name":"bool"}}],[11,"gt","","",4,{"inputs":[{"name":"self"},{"name":"lifetime"}],"output":{"name":"bool"}}],[11,"ge","","",4,{"inputs":[{"name":"self"},{"name":"lifetime"}],"output":{"name":"bool"}}],[11,"new","","",4,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"fmt","","",5,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",5,{"inputs":[{"name":"self"}],"output":{"name":"lifetimedef"}}],[11,"eq","","",5,{"inputs":[{"name":"self"},{"name":"lifetimedef"}],"output":{"name":"bool"}}],[11,"ne","","",5,{"inputs":[{"name":"self"},{"name":"lifetimedef"}],"output":{"name":"bool"}}],[11,"hash","","",5,null],[11,"new","","",5,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"fmt","","",6,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",6,{"inputs":[{"name":"self"}],"output":{"name":"typaram"}}],[11,"eq","","",6,{"inputs":[{"name":"self"},{"name":"typaram"}],"output":{"name":"bool"}}],[11,"ne","","",6,{"inputs":[{"name":"self"},{"name":"typaram"}],"output":{"name":"bool"}}],[11,"hash","","",6,null],[11,"from","","",6,{"inputs":[{"name":"ident"}],"output":{"name":"self"}}],[11,"fmt","","",35,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",35,{"inputs":[{"name":"self"}],"output":{"name":"typarambound"}}],[11,"eq","","",35,{"inputs":[{"name":"self"},{"name":"typarambound"}],"output":{"name":"bool"}}],[11,"ne","","",35,{"inputs":[{"name":"self"},{"name":"typarambound"}],"output":{"name":"bool"}}],[11,"hash","","",35,null],[11,"fmt","","",34,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",34,{"inputs":[{"name":"self"}],"output":{"name":"traitboundmodifier"}}],[11,"eq","","",34,{"inputs":[{"name":"self"},{"name":"traitboundmodifier"}],"output":{"name":"bool"}}],[11,"hash","","",34,null],[11,"fmt","","",8,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",8,{"inputs":[{"name":"self"}],"output":{"name":"whereclause"}}],[11,"eq","","",8,{"inputs":[{"name":"self"},{"name":"whereclause"}],"output":{"name":"bool"}}],[11,"ne","","",8,{"inputs":[{"name":"self"},{"name":"whereclause"}],"output":{"name":"bool"}}],[11,"default","","",8,{"inputs":[],"output":{"name":"whereclause"}}],[11,"hash","","",8,null],[11,"none","","",8,{"inputs":[],"output":{"name":"self"}}],[11,"fmt","","",36,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",36,{"inputs":[{"name":"self"}],"output":{"name":"wherepredicate"}}],[11,"eq","","",36,{"inputs":[{"name":"self"},{"name":"wherepredicate"}],"output":{"name":"bool"}}],[11,"ne","","",36,{"inputs":[{"name":"self"},{"name":"wherepredicate"}],"output":{"name":"bool"}}],[11,"hash","","",36,null],[11,"fmt","","",7,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",7,{"inputs":[{"name":"self"}],"output":{"name":"whereboundpredicate"}}],[11,"eq","","",7,{"inputs":[{"name":"self"},{"name":"whereboundpredicate"}],"output":{"name":"bool"}}],[11,"ne","","",7,{"inputs":[{"name":"self"},{"name":"whereboundpredicate"}],"output":{"name":"bool"}}],[11,"hash","","",7,null],[11,"fmt","","",10,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",10,{"inputs":[{"name":"self"}],"output":{"name":"whereregionpredicate"}}],[11,"eq","","",10,{"inputs":[{"name":"self"},{"name":"whereregionpredicate"}],"output":{"name":"bool"}}],[11,"ne","","",10,{"inputs":[{"name":"self"},{"name":"whereregionpredicate"}],"output":{"name":"bool"}}],[11,"hash","","",10,null],[11,"fmt","","",9,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",9,{"inputs":[{"name":"self"}],"output":{"name":"whereeqpredicate"}}],[11,"eq","","",9,{"inputs":[{"name":"self"},{"name":"whereeqpredicate"}],"output":{"name":"bool"}}],[11,"ne","","",9,{"inputs":[{"name":"self"},{"name":"whereeqpredicate"}],"output":{"name":"bool"}}],[11,"hash","","",9,null],[11,"to_tokens","","",57,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",57,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",57,{"inputs":[{"name":"self"}],"output":{"name":"ident"}}],[11,"hash","","",57,null],[11,"cmp","","",57,{"inputs":[{"name":"self"},{"name":"ident"}],"output":{"name":"ordering"}}],[11,"partial_cmp","","",57,{"inputs":[{"name":"self"},{"name":"ident"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",57,{"inputs":[{"name":"self"},{"name":"ident"}],"output":{"name":"bool"}}],[11,"le","","",57,{"inputs":[{"name":"self"},{"name":"ident"}],"output":{"name":"bool"}}],[11,"gt","","",57,{"inputs":[{"name":"self"},{"name":"ident"}],"output":{"name":"bool"}}],[11,"ge","","",57,{"inputs":[{"name":"self"},{"name":"ident"}],"output":{"name":"bool"}}],[11,"new","","",57,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"from","","",57,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"from","","",57,{"inputs":[{"generics":["str"],"name":"cow"}],"output":{"name":"self"}}],[11,"from","","",57,{"inputs":[{"name":"string"}],"output":{"name":"self"}}],[11,"from","","",57,{"inputs":[{"name":"usize"}],"output":{"name":"self"}}],[11,"as_ref","","",57,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"fmt","","",57,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"generics":["error"],"name":"result"}}],[11,"eq","","",57,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"bool"}}],[11,"to_tokens","","",39,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",38,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"generics":["error"],"name":"result"}}],[11,"fmt","","",37,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"generics":["error"],"name":"result"}}],[11,"fmt","","",39,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",39,{"inputs":[{"name":"self"}],"output":{"name":"lit"}}],[11,"eq","","",39,{"inputs":[{"name":"self"},{"name":"lit"}],"output":{"name":"bool"}}],[11,"ne","","",39,{"inputs":[{"name":"self"},{"name":"lit"}],"output":{"name":"bool"}}],[11,"hash","","",39,null],[11,"fmt","","",40,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",40,{"inputs":[{"name":"self"}],"output":{"name":"strstyle"}}],[11,"eq","","",40,{"inputs":[{"name":"self"},{"name":"strstyle"}],"output":{"name":"bool"}}],[11,"ne","","",40,{"inputs":[{"name":"self"},{"name":"strstyle"}],"output":{"name":"bool"}}],[11,"hash","","",40,null],[11,"from","","",39,{"inputs":[{"name":"string"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"str"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"generics":["u8"],"name":"vec"}],"output":{"name":"lit"}}],[11,"from","","",39,null],[11,"from","","",39,{"inputs":[{"name":"char"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"bool"}],"output":{"name":"lit"}}],[11,"fmt","","",38,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",38,{"inputs":[{"name":"self"}],"output":{"name":"intty"}}],[11,"eq","","",38,{"inputs":[{"name":"self"},{"name":"intty"}],"output":{"name":"bool"}}],[11,"hash","","",38,null],[11,"fmt","","",37,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",37,{"inputs":[{"name":"self"}],"output":{"name":"floatty"}}],[11,"eq","","",37,{"inputs":[{"name":"self"},{"name":"floatty"}],"output":{"name":"bool"}}],[11,"hash","","",37,null],[11,"from","","",39,{"inputs":[{"name":"isize"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"i8"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"i16"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"i32"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"i64"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"usize"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"u8"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"u16"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"u32"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"u64"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"f32"}],"output":{"name":"lit"}}],[11,"from","","",39,{"inputs":[{"name":"f64"}],"output":{"name":"lit"}}],[11,"fmt","","",14,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",14,{"inputs":[{"name":"self"}],"output":{"name":"strlit"}}],[11,"fmt","","",11,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",11,{"inputs":[{"name":"self"}],"output":{"name":"bytestrlit"}}],[11,"fmt","","",13,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",13,{"inputs":[{"name":"self"}],"output":{"name":"intlit"}}],[11,"fmt","","",12,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",12,{"inputs":[{"name":"self"}],"output":{"name":"floatlit"}}],[11,"to_tokens","","",16,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",44,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",15,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",43,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",41,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",16,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",16,{"inputs":[{"name":"self"}],"output":{"name":"mac"}}],[11,"eq","","",16,{"inputs":[{"name":"self"},{"name":"mac"}],"output":{"name":"bool"}}],[11,"ne","","",16,{"inputs":[{"name":"self"},{"name":"mac"}],"output":{"name":"bool"}}],[11,"hash","","",16,null],[11,"fmt","","",44,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",44,{"inputs":[{"name":"self"}],"output":{"name":"tokentree"}}],[11,"eq","","",44,{"inputs":[{"name":"self"},{"name":"tokentree"}],"output":{"name":"bool"}}],[11,"ne","","",44,{"inputs":[{"name":"self"},{"name":"tokentree"}],"output":{"name":"bool"}}],[11,"hash","","",44,null],[11,"fmt","","",15,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",15,{"inputs":[{"name":"self"}],"output":{"name":"delimited"}}],[11,"eq","","",15,{"inputs":[{"name":"self"},{"name":"delimited"}],"output":{"name":"bool"}}],[11,"ne","","",15,{"inputs":[{"name":"self"},{"name":"delimited"}],"output":{"name":"bool"}}],[11,"hash","","",15,null],[11,"fmt","","",43,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",43,{"inputs":[{"name":"self"}],"output":{"name":"token"}}],[11,"eq","","",43,{"inputs":[{"name":"self"},{"name":"token"}],"output":{"name":"bool"}}],[11,"ne","","",43,{"inputs":[{"name":"self"},{"name":"token"}],"output":{"name":"bool"}}],[11,"hash","","",43,null],[11,"fmt","","",41,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",41,{"inputs":[{"name":"self"}],"output":{"name":"binoptoken"}}],[11,"eq","","",41,{"inputs":[{"name":"self"},{"name":"binoptoken"}],"output":{"name":"bool"}}],[11,"hash","","",41,null],[11,"fmt","","",42,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",42,{"inputs":[{"name":"self"}],"output":{"name":"delimtoken"}}],[11,"eq","","",42,{"inputs":[{"name":"self"},{"name":"delimtoken"}],"output":{"name":"bool"}}],[11,"hash","","",42,null],[11,"to_tokens","","",17,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",17,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",17,{"inputs":[{"name":"self"}],"output":{"name":"deriveinput"}}],[11,"eq","","",17,{"inputs":[{"name":"self"},{"name":"deriveinput"}],"output":{"name":"bool"}}],[11,"ne","","",17,{"inputs":[{"name":"self"},{"name":"deriveinput"}],"output":{"name":"bool"}}],[11,"hash","","",17,null],[11,"fmt","","",45,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",45,{"inputs":[{"name":"self"}],"output":{"name":"body"}}],[11,"eq","","",45,{"inputs":[{"name":"self"},{"name":"body"}],"output":{"name":"bool"}}],[11,"ne","","",45,{"inputs":[{"name":"self"},{"name":"body"}],"output":{"name":"bool"}}],[11,"hash","","",45,null],[11,"op","","",46,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"assign_op","","",46,{"inputs":[{"name":"self"}],"output":{"generics":["str"],"name":"option"}}],[11,"to_tokens","","",46,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"op","","",47,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"to_tokens","","",47,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",46,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",46,{"inputs":[{"name":"self"}],"output":{"name":"binop"}}],[11,"eq","","",46,{"inputs":[{"name":"self"},{"name":"binop"}],"output":{"name":"bool"}}],[11,"hash","","",46,null],[11,"fmt","","",47,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",47,{"inputs":[{"name":"self"}],"output":{"name":"unop"}}],[11,"eq","","",47,{"inputs":[{"name":"self"},{"name":"unop"}],"output":{"name":"bool"}}],[11,"hash","","",47,null],[11,"to_tokens","","",52,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",50,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",23,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",24,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",51,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",18,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",27,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",22,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",25,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",20,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",19,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",53,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"to_tokens","","",48,{"inputs":[{"name":"self"},{"name":"tokens"}],"output":null}],[11,"fmt","","",52,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",52,{"inputs":[{"name":"self"}],"output":{"name":"ty"}}],[11,"eq","","",52,{"inputs":[{"name":"self"},{"name":"ty"}],"output":{"name":"bool"}}],[11,"ne","","",52,{"inputs":[{"name":"self"},{"name":"ty"}],"output":{"name":"bool"}}],[11,"hash","","",52,null],[11,"fmt","","",21,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",21,{"inputs":[{"name":"self"}],"output":{"name":"mutty"}}],[11,"eq","","",21,{"inputs":[{"name":"self"},{"name":"mutty"}],"output":{"name":"bool"}}],[11,"ne","","",21,{"inputs":[{"name":"self"},{"name":"mutty"}],"output":{"name":"bool"}}],[11,"hash","","",21,null],[11,"fmt","","",50,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",50,{"inputs":[{"name":"self"}],"output":{"name":"mutability"}}],[11,"eq","","",50,{"inputs":[{"name":"self"},{"name":"mutability"}],"output":{"name":"bool"}}],[11,"hash","","",50,null],[11,"fmt","","",23,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",23,{"inputs":[{"name":"self"}],"output":{"name":"path"}}],[11,"eq","","",23,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[11,"ne","","",23,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[11,"hash","","",23,null],[11,"from","","",23,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"fmt","","",24,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",24,{"inputs":[{"name":"self"}],"output":{"name":"pathsegment"}}],[11,"eq","","",24,{"inputs":[{"name":"self"},{"name":"pathsegment"}],"output":{"name":"bool"}}],[11,"ne","","",24,{"inputs":[{"name":"self"},{"name":"pathsegment"}],"output":{"name":"bool"}}],[11,"hash","","",24,null],[11,"from","","",24,{"inputs":[{"name":"t"}],"output":{"name":"self"}}],[11,"fmt","","",51,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",51,{"inputs":[{"name":"self"}],"output":{"name":"pathparameters"}}],[11,"eq","","",51,{"inputs":[{"name":"self"},{"name":"pathparameters"}],"output":{"name":"bool"}}],[11,"ne","","",51,{"inputs":[{"name":"self"},{"name":"pathparameters"}],"output":{"name":"bool"}}],[11,"hash","","",51,null],[11,"none","","",51,{"inputs":[],"output":{"name":"self"}}],[11,"is_empty","","",51,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"fmt","","",18,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",18,{"inputs":[{"name":"self"}],"output":{"name":"anglebracketedparameterdata"}}],[11,"eq","","",18,{"inputs":[{"name":"self"},{"name":"anglebracketedparameterdata"}],"output":{"name":"bool"}}],[11,"ne","","",18,{"inputs":[{"name":"self"},{"name":"anglebracketedparameterdata"}],"output":{"name":"bool"}}],[11,"default","","",18,{"inputs":[],"output":{"name":"anglebracketedparameterdata"}}],[11,"hash","","",18,null],[11,"fmt","","",27,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",27,{"inputs":[{"name":"self"}],"output":{"name":"typebinding"}}],[11,"eq","","",27,{"inputs":[{"name":"self"},{"name":"typebinding"}],"output":{"name":"bool"}}],[11,"ne","","",27,{"inputs":[{"name":"self"},{"name":"typebinding"}],"output":{"name":"bool"}}],[11,"hash","","",27,null],[11,"fmt","","",22,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",22,{"inputs":[{"name":"self"}],"output":{"name":"parenthesizedparameterdata"}}],[11,"eq","","",22,{"inputs":[{"name":"self"},{"name":"parenthesizedparameterdata"}],"output":{"name":"bool"}}],[11,"ne","","",22,{"inputs":[{"name":"self"},{"name":"parenthesizedparameterdata"}],"output":{"name":"bool"}}],[11,"hash","","",22,null],[11,"fmt","","",25,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",25,{"inputs":[{"name":"self"}],"output":{"name":"polytraitref"}}],[11,"eq","","",25,{"inputs":[{"name":"self"},{"name":"polytraitref"}],"output":{"name":"bool"}}],[11,"ne","","",25,{"inputs":[{"name":"self"},{"name":"polytraitref"}],"output":{"name":"bool"}}],[11,"hash","","",25,null],[11,"fmt","","",26,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",26,{"inputs":[{"name":"self"}],"output":{"name":"qself"}}],[11,"eq","","",26,{"inputs":[{"name":"self"},{"name":"qself"}],"output":{"name":"bool"}}],[11,"ne","","",26,{"inputs":[{"name":"self"},{"name":"qself"}],"output":{"name":"bool"}}],[11,"hash","","",26,null],[11,"fmt","","",20,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",20,{"inputs":[{"name":"self"}],"output":{"name":"barefnty"}}],[11,"eq","","",20,{"inputs":[{"name":"self"},{"name":"barefnty"}],"output":{"name":"bool"}}],[11,"ne","","",20,{"inputs":[{"name":"self"},{"name":"barefnty"}],"output":{"name":"bool"}}],[11,"hash","","",20,null],[11,"fmt","","",53,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",53,{"inputs":[{"name":"self"}],"output":{"name":"unsafety"}}],[11,"eq","","",53,{"inputs":[{"name":"self"},{"name":"unsafety"}],"output":{"name":"bool"}}],[11,"hash","","",53,null],[11,"fmt","","",48,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",48,{"inputs":[{"name":"self"}],"output":{"name":"abi"}}],[11,"eq","","",48,{"inputs":[{"name":"self"},{"name":"abi"}],"output":{"name":"bool"}}],[11,"ne","","",48,{"inputs":[{"name":"self"},{"name":"abi"}],"output":{"name":"bool"}}],[11,"hash","","",48,null],[11,"fmt","","",19,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",19,{"inputs":[{"name":"self"}],"output":{"name":"barefnarg"}}],[11,"eq","","",19,{"inputs":[{"name":"self"},{"name":"barefnarg"}],"output":{"name":"bool"}}],[11,"ne","","",19,{"inputs":[{"name":"self"},{"name":"barefnarg"}],"output":{"name":"bool"}}],[11,"hash","","",19,null],[11,"fmt","","",49,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",49,{"inputs":[{"name":"self"}],"output":{"name":"functionretty"}}],[11,"eq","","",49,{"inputs":[{"name":"self"},{"name":"functionretty"}],"output":{"name":"bool"}}],[11,"ne","","",49,{"inputs":[{"name":"self"},{"name":"functionretty"}],"output":{"name":"bool"}}],[11,"hash","","",49,null],[0,"visit","","AST walker. Each overridden visit method has full control over what happens with its node, it can do its own traversal of the node's children, call `visit::walk_*` to apply the default traversal algorithm, or prevent deeper traversal by doing nothing.",null,null],[5,"walk_opt_ident","syn::visit","",null,{"inputs":[{"name":"v"},{"name":"option"}],"output":null}],[5,"walk_lifetime_def","","",null,{"inputs":[{"name":"v"},{"name":"lifetimedef"}],"output":null}],[5,"walk_poly_trait_ref","","",null,{"inputs":[{"name":"v"},{"name":"polytraitref"},{"name":"traitboundmodifier"}],"output":null}],[5,"walk_derive_input","","",null,{"inputs":[{"name":"v"},{"name":"deriveinput"}],"output":null}],[5,"walk_variant","","",null,{"inputs":[{"name":"v"},{"name":"variant"},{"name":"generics"}],"output":null}],[5,"walk_ty","","",null,{"inputs":[{"name":"v"},{"name":"ty"}],"output":null}],[5,"walk_path","","",null,{"inputs":[{"name":"v"},{"name":"path"}],"output":null}],[5,"walk_path_segment","","",null,{"inputs":[{"name":"v"},{"name":"pathsegment"}],"output":null}],[5,"walk_path_parameters","","",null,{"inputs":[{"name":"v"},{"name":"pathparameters"}],"output":null}],[5,"walk_assoc_type_binding","","",null,{"inputs":[{"name":"v"},{"name":"typebinding"}],"output":null}],[5,"walk_ty_param_bound","","",null,{"inputs":[{"name":"v"},{"name":"typarambound"}],"output":null}],[5,"walk_generics","","",null,{"inputs":[{"name":"v"},{"name":"generics"}],"output":null}],[5,"walk_fn_ret_ty","","",null,{"inputs":[{"name":"v"},{"name":"functionretty"}],"output":null}],[5,"walk_variant_data","","",null,{"inputs":[{"name":"v"},{"name":"variantdata"}],"output":null}],[5,"walk_field","","",null,{"inputs":[{"name":"v"},{"name":"field"}],"output":null}],[5,"walk_const_expr","","",null,{"inputs":[{"name":"v"},{"name":"constexpr"}],"output":null}],[5,"walk_mac","","",null,{"inputs":[{"name":"v"},{"name":"mac"}],"output":null}],[8,"Visitor","","Each method of the Visitor trait is a hook to be potentially overridden. Each method's default implementation recursively visits the substructure of the input via the corresponding `walk` method; e.g. the `visit_mod` method by default calls `visit::walk_mod`.",null,null],[11,"visit_ident","","",58,{"inputs":[{"name":"self"},{"name":"ident"}],"output":null}],[11,"visit_derive_input","","",58,{"inputs":[{"name":"self"},{"name":"deriveinput"}],"output":null}],[11,"visit_ty","","",58,{"inputs":[{"name":"self"},{"name":"ty"}],"output":null}],[11,"visit_generics","","",58,{"inputs":[{"name":"self"},{"name":"generics"}],"output":null}],[11,"visit_ty_param_bound","","",58,{"inputs":[{"name":"self"},{"name":"typarambound"}],"output":null}],[11,"visit_poly_trait_ref","","",58,{"inputs":[{"name":"self"},{"name":"polytraitref"},{"name":"traitboundmodifier"}],"output":null}],[11,"visit_variant_data","","",58,{"inputs":[{"name":"self"},{"name":"variantdata"},{"name":"ident"},{"name":"generics"}],"output":null}],[11,"visit_field","","",58,{"inputs":[{"name":"self"},{"name":"field"}],"output":null}],[11,"visit_variant","","",58,{"inputs":[{"name":"self"},{"name":"variant"},{"name":"generics"}],"output":null}],[11,"visit_lifetime","","",58,{"inputs":[{"name":"self"},{"name":"lifetime"}],"output":null}],[11,"visit_lifetime_def","","",58,{"inputs":[{"name":"self"},{"name":"lifetimedef"}],"output":null}],[11,"visit_path","","",58,{"inputs":[{"name":"self"},{"name":"path"}],"output":null}],[11,"visit_path_segment","","",58,{"inputs":[{"name":"self"},{"name":"pathsegment"}],"output":null}],[11,"visit_path_parameters","","",58,{"inputs":[{"name":"self"},{"name":"pathparameters"}],"output":null}],[11,"visit_assoc_type_binding","","",58,{"inputs":[{"name":"self"},{"name":"typebinding"}],"output":null}],[11,"visit_attribute","","",58,{"inputs":[{"name":"self"},{"name":"attribute"}],"output":null}],[11,"visit_fn_ret_ty","","",58,{"inputs":[{"name":"self"},{"name":"functionretty"}],"output":null}],[11,"visit_const_expr","","",58,{"inputs":[{"name":"self"},{"name":"constexpr"}],"output":null}],[11,"visit_lit","","",58,{"inputs":[{"name":"self"},{"name":"lit"}],"output":null}],[11,"visit_mac","","",58,{"inputs":[{"name":"self"},{"name":"mac"}],"output":null}],[0,"parse","syn","This module contains a set of exported nom parsers which can be used to parse custom grammars when used alongside the `synom` crate.",null,null],[4,"IResult","syn::parse","The result of a parser.",null,null],[13,"Done","","Parsing succeeded. The first field contains the rest of the unparsed data and the second field contains the parse result.",59,null],[13,"Error","","Parsing failed.",59,null],[5,"lit","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","lit"],"name":"iresult"}}],[5,"string","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","strlit"],"name":"iresult"}}],[5,"byte_string","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","bytestrlit"],"name":"iresult"}}],[5,"byte","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","u8"],"name":"iresult"}}],[5,"character","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","char"],"name":"iresult"}}],[5,"float","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","floatlit"],"name":"iresult"}}],[5,"int","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","intlit"],"name":"iresult"}}],[5,"boolean","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","bool"],"name":"iresult"}}],[5,"ty","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","ty"],"name":"iresult"}}],[5,"path","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","path"],"name":"iresult"}}],[5,"tt","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","tokentree"],"name":"iresult"}}],[5,"ident","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","ident"],"name":"iresult"}}],[5,"lifetime","","",null,{"inputs":[{"name":"str"}],"output":{"generics":["str","lifetime"],"name":"iresult"}}],[11,"expect","","Unwraps the result, asserting the the parse is complete. Panics with a message based on the given string if the parse failed or is incomplete.",59,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"o"}}],[11,"fmt","","",59,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"generics":["error"],"name":"result"}}],[11,"clone","","",59,{"inputs":[{"name":"self"}],"output":{"name":"iresult"}}],[11,"eq","","",59,{"inputs":[{"name":"self"},{"name":"iresult"}],"output":{"name":"bool"}}],[11,"ne","","",59,{"inputs":[{"name":"self"},{"name":"iresult"}],"output":{"name":"bool"}}]],"paths":[[3,"Attribute"],[3,"Field"],[3,"Variant"],[3,"Generics"],[3,"Lifetime"],[3,"LifetimeDef"],[3,"TyParam"],[3,"WhereBoundPredicate"],[3,"WhereClause"],[3,"WhereEqPredicate"],[3,"WhereRegionPredicate"],[3,"ByteStrLit"],[3,"FloatLit"],[3,"IntLit"],[3,"StrLit"],[3,"Delimited"],[3,"Mac"],[3,"DeriveInput"],[3,"AngleBracketedParameterData"],[3,"BareFnArg"],[3,"BareFnTy"],[3,"MutTy"],[3,"ParenthesizedParameterData"],[3,"Path"],[3,"PathSegment"],[3,"PolyTraitRef"],[3,"QSelf"],[3,"TypeBinding"],[4,"AttrStyle"],[4,"MetaItem"],[4,"NestedMetaItem"],[4,"ConstExpr"],[4,"VariantData"],[4,"Visibility"],[4,"TraitBoundModifier"],[4,"TyParamBound"],[4,"WherePredicate"],[4,"FloatTy"],[4,"IntTy"],[4,"Lit"],[4,"StrStyle"],[4,"BinOpToken"],[4,"DelimToken"],[4,"Token"],[4,"TokenTree"],[4,"Body"],[4,"BinOp"],[4,"UnOp"],[4,"Abi"],[4,"FunctionRetTy"],[4,"Mutability"],[4,"PathParameters"],[4,"Ty"],[4,"Unsafety"],[3,"ImplGenerics"],[3,"TyGenerics"],[3,"Turbofish"],[3,"Ident"],[8,"Visitor"],[4,"IResult"]]}; searchIndex["synom"] = {"doc":"Adapted from `nom` by removing the `IResult::Incomplete` variant which:","items":[[4,"IResult","synom","The result of a parser.",null,null],[13,"Done","","Parsing succeeded. The first field contains the rest of the unparsed data and the second field contains the parse result.",0,null],[13,"Error","","Parsing failed.",0,null],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",0,{"inputs":[{"name":"self"},{"name":"iresult"}],"output":{"name":"bool"}}],[11,"ne","","",0,{"inputs":[{"name":"self"},{"name":"iresult"}],"output":{"name":"bool"}}],[11,"clone","","",0,{"inputs":[{"name":"self"}],"output":{"name":"iresult"}}],[11,"expect","","Unwraps the result, asserting the the parse is complete. Panics with a message based on the given string if the parse failed or is incomplete.",0,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"o"}}],[14,"punct","","Parse a piece of punctuation like \"+\" or \"+=\".",null,null],[14,"keyword","","Parse a keyword like \"fn\" or \"struct\".",null,null],[14,"option","","Turn a failed parse into `None` and a successful parse into `Some`.",null,null],[14,"opt_vec","","Turn a failed parse into an empty vector. The argument parser must itself return a vector.",null,null],[14,"epsilon","","Parses nothing and always succeeds.",null,null],[14,"separated_list","","Zero or more values separated by some separator. Does not allow a trailing seperator.",null,null],[14,"terminated_list","","Zero or more values separated by some separator. A trailing separator is allowed.",null,null],[14,"named","","Define a function from a parser combination.",null,null],[14,"call","","Invoke the given parser function with the passed in arguments.",null,null],[14,"map","","Transform the result of a parser by applying a function or closure.",null,null],[14,"not","","Parses successfully if the given parser fails to parse. Does not consume any of the input.",null,null],[14,"cond","","Conditionally execute the given parser.",null,null],[14,"cond_reduce","","Fail to parse if condition is false, otherwise parse the given parser.",null,null],[14,"preceded","","Parse two things, returning the value of the second.",null,null],[14,"terminated","","Parse two things, returning the value of the first.",null,null],[14,"many0","","Parse zero or more values using the given parser.",null,null],[14,"peek","","Parse a value without consuming it from the input data.",null,null],[14,"take_until","","Parse the part of the input up to but not including the given string. Fail to parse if the given string is not present in the input.",null,null],[14,"tag","","Parse the given string from exactly the current position in the input. You almost always want `punct!` or `keyword!` instead of this.",null,null],[14,"switch","","Pattern-match the result of a parser to select which other parser to run.",null,null],[14,"value","","Produce the given value without parsing anything. Useful as an argument to `switch!`.",null,null],[14,"delimited","","Value surrounded by a pair of delimiters.",null,null],[14,"separated_nonempty_list","","One or more values separated by some separator. Does not allow a trailing separator.",null,null],[14,"tuple","","Run a series of parsers and produce all of the results in a tuple.",null,null],[14,"alt","","Run a series of parsers, returning the result of the first one which succeeds.",null,null],[14,"do_parse","","Run a series of parsers, one after another, optionally assigning the results a name. Fail if any of the parsers fails.",null,null]],"paths":[[4,"IResult"]]}; -searchIndex["tantivy"] = {"doc":"`tantivy`","items":[[3,"Error","tantivy","The Error type.",null,null],[12,"0","","The kind of the error.",0,null],[3,"Index","","Search Index",null,null],[3,"Searcher","","Holds a list of `SegmentReader`s ready for search.",null,null],[3,"Segment","","A segment is a piece of the index.",null,null],[3,"SegmentId","","Uuid identifying a segment.",null,null],[3,"SegmentMeta","","`SegmentMeta` contains simple meta information about a segment.",null,null],[3,"IndexWriter","","`IndexWriter` is the user entry-point to add document to an index.",null,null],[3,"Document","","Tantivy's Document is the object that can be indexed and then searched for.",null,null],[3,"Term","","Term represents the value that the token can take.",null,null],[3,"InvertedIndexReader","","The inverted index reader is in charge of accessing the inverted index associated to a specific field.",null,null],[3,"SegmentReader","","Entry point to access all of the datastructures of the `Segment`",null,null],[3,"TimerTree","","Timer tree",null,null],[3,"DocAddress","","`DocAddress` contains all the necessary information to identify a document given a `Searcher` object.",null,null],[12,"0","","",1,null],[12,"1","","",1,null],[4,"ErrorKind","","The kind of an error.",null,null],[13,"Msg","","A convenient variant for String.",2,null],[13,"PathDoesNotExist","","Path does not exist.",2,null],[13,"FileAlreadyExists","","File already exists, this is a problem when we try to write into a new file.",2,null],[13,"IOError","","IO Error.",2,null],[13,"CorruptedFile","","The data within is corrupted.",2,null],[13,"Poisoned","","A thread holding the locked panicked and poisoned the lock.",2,null],[13,"InvalidArgument","","Invalid argument was passed by the user.",2,null],[13,"ErrorInThread","","An Error happened in one of the thread.",2,null],[13,"SchemaError","","An Error appeared related to the lack of a field.",2,null],[13,"FastFieldError","","Tried to access a fastfield reader for a field not configured accordingly.",2,null],[4,"SkipResult","","Expresses the outcome of a call to `DocSet`'s `.skip_next(...)`.",null,null],[13,"Reached","","target was in the docset",3,null],[13,"OverStep","","target was not in the docset, skipping stopped as a greater element was found",3,null],[13,"End","","the docset was entirely consumed without finding the target, nor any element greater than the target.",3,null],[4,"SegmentComponent","","Enum describing each component of a tantivy segment. Each component is stored in its own file, using the pattern `segment_uuid`.`component_extension`, except the delete component that takes an `segment_uuid`.`delete_opstamp`.`component_extension`",null,null],[13,"POSTINGS","","Postings (or inverted list). Sorted lists of document ids, associated to terms",4,null],[13,"POSITIONS","","Positions of terms in each document.",4,null],[13,"FASTFIELDS","","Column-oriented random-access storage of fields.",4,null],[13,"FIELDNORMS","","Stores the sum of the length (in terms) of each field for each document. Field norms are stored as a special u64 fast field.",4,null],[13,"TERMS","","Dictionary associating `Term`s to `TermInfo`s which is simply an address into the `postings` file and the `positions` file.",4,null],[13,"STORE","","Row-oriented, LZ4-compressed storage of the documents. Accessing a document from the store is relatively slow, as it requires to decompress the entire block it belongs to.",4,null],[13,"DELETE","","Bitset describing which document of the segment is deleted.",4,null],[5,"i64_to_u64","","Maps a `i64` to `u64`",null,{"inputs":[{"name":"i64"}],"output":{"name":"u64"}}],[5,"u64_to_i64","","Reverse the mapping given by `i64_to_u64`.",null,{"inputs":[{"name":"u64"}],"output":{"name":"i64"}}],[5,"version","","Expose the current version of tantivy, as well whether it was compiled with the simd compression.",null,{"inputs":[],"output":{"name":"str"}}],[11,"doc","","Fetches a document from tantivy's store given a `DocAddress`.",5,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"generics":["document"],"name":"result"}}],[11,"num_docs","","Returns the overall number of documents in the index.",5,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"doc_freq","","Return the overall number of documents containing the given term.",5,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"u32"}}],[11,"segment_readers","","Return the list of segment readers",5,null],[11,"segment_reader","","Returns the segment_reader associated with the given segment_ordinal",5,{"inputs":[{"name":"self"},{"name":"u32"}],"output":{"name":"segmentreader"}}],[11,"search","","Runs a query on the segment readers wrapped by the searcher",5,{"inputs":[{"name":"self"},{"name":"query"},{"name":"c"}],"output":{"generics":["timertree"],"name":"result"}}],[11,"field","","Return the field searcher associated to a `Field`.",5,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"fieldsearcher"}}],[11,"from","","",5,{"inputs":[{"generics":["segmentreader"],"name":"vec"}],"output":{"name":"searcher"}}],[11,"fmt","","",5,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"create_in_ram","","Creates a new index using the `RAMDirectory`.",6,{"inputs":[{"name":"schema"}],"output":{"name":"index"}}],[11,"create","","Creates a new index in a given filepath. The index will use the `MMapDirectory`.",6,{"inputs":[{"name":"p"},{"name":"schema"}],"output":{"generics":["index"],"name":"result"}}],[11,"tokenizers","","Accessor for the tokenizer manager.",6,{"inputs":[{"name":"self"}],"output":{"name":"tokenizermanager"}}],[11,"create_from_tempdir","","Creates a new index in a temp directory.",6,{"inputs":[{"name":"schema"}],"output":{"generics":["index"],"name":"result"}}],[11,"from_directory","","Create a new index from a directory.",6,{"inputs":[{"name":"manageddirectory"},{"name":"schema"}],"output":{"generics":["index"],"name":"result"}}],[11,"open","","Opens a new directory from an index path.",6,{"inputs":[{"name":"p"}],"output":{"generics":["index"],"name":"result"}}],[11,"load_metas","","Reads the index meta file from the directory.",6,{"inputs":[{"name":"self"}],"output":{"generics":["indexmeta"],"name":"result"}}],[11,"writer_with_num_threads","","Open a new index writer. Attempts to acquire a lockfile.",6,{"inputs":[{"name":"self"},{"name":"usize"},{"name":"usize"}],"output":{"generics":["indexwriter"],"name":"result"}}],[11,"writer","","Creates a multithreaded writer It just calls `writer_with_num_threads` with the number of cores as `num_threads`",6,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"generics":["indexwriter"],"name":"result"}}],[11,"schema","","Accessor to the index schema",6,{"inputs":[{"name":"self"}],"output":{"name":"schema"}}],[11,"searchable_segments","","Returns the list of segments that are searchable",6,{"inputs":[{"name":"self"}],"output":{"generics":["vec"],"name":"result"}}],[11,"new_segment","","Creates a new segment.",6,{"inputs":[{"name":"self"}],"output":{"name":"segment"}}],[11,"directory","","Return a reference to the index directory.",6,{"inputs":[{"name":"self"}],"output":{"name":"manageddirectory"}}],[11,"directory_mut","","Return a mutable reference to the index directory.",6,{"inputs":[{"name":"self"}],"output":{"name":"manageddirectory"}}],[11,"searchable_segment_metas","","Reads the meta.json and returns the list of `SegmentMeta` from the last commit.",6,{"inputs":[{"name":"self"}],"output":{"generics":["vec"],"name":"result"}}],[11,"searchable_segment_ids","","Returns the list of segment ids that are searchable.",6,{"inputs":[{"name":"self"}],"output":{"generics":["vec"],"name":"result"}}],[11,"load_searchers","","Creates a new generation of searchers after a change of the set of searchable indexes.",6,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"searcher","","Returns a searcher",6,{"inputs":[{"name":"self"}],"output":{"generics":["searcher"],"name":"leaseditem"}}],[11,"fmt","","",6,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",6,{"inputs":[{"name":"self"}],"output":{"name":"index"}}],[11,"clone","","",7,{"inputs":[{"name":"self"}],"output":{"name":"segmentreader"}}],[11,"max_doc","","Returns the highest document id ever attributed in this segment + 1. Today, `tantivy` does not handle deletes, so it happens to also be the number of documents in the index.",7,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"num_docs","","Returns the number of documents. Deleted documents are not counted.",7,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"num_deleted_docs","","Return the number of documents that have been deleted in the segment.",7,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"get_fast_field_reader","","Accessor to a segment's fast field reader given a field.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"result"}}],[11,"facet_reader","","Accessor to the `FacetReader` associated to a given `Field`.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["facetreader"],"name":"result"}}],[11,"multi_value_reader","","Accessor to the `MultiValueIntFastFieldReader` associated to a given `Field`.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["multivalueintfastfieldreader"],"name":"result"}}],[11,"get_fieldnorms_reader","","Accessor to the segment's `Field norms`'s reader.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["u64fastfieldreader"],"name":"option"}}],[11,"get_store_reader","","Accessor to the segment's `StoreReader`.",7,{"inputs":[{"name":"self"}],"output":{"name":"storereader"}}],[11,"open","","Open a new segment for reading.",7,{"inputs":[{"name":"segment"}],"output":{"generics":["segmentreader"],"name":"result"}}],[11,"inverted_index","","Returns a field reader associated to the field given in argument.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["invertedindexreader"],"name":"arc"}}],[11,"doc","","Returns the document (or to be accurate, its stored field) bearing the given doc id. This method is slow and should seldom be called from within a collector.",7,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"generics":["document"],"name":"result"}}],[11,"segment_id","","Returns the segment id",7,{"inputs":[{"name":"self"}],"output":{"name":"segmentid"}}],[11,"delete_bitset","","Returns the bitset representing the documents that have been deleted.",7,{"inputs":[{"name":"self"}],"output":{"name":"deletebitset"}}],[11,"is_deleted","","Returns true iff the `doc` is marked as deleted.",7,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"bool"}}],[11,"fmt","","",7,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",8,{"inputs":[{"name":"self"}],"output":{"name":"segmentid"}}],[11,"eq","","",8,{"inputs":[{"name":"self"},{"name":"segmentid"}],"output":{"name":"bool"}}],[11,"ne","","",8,{"inputs":[{"name":"self"},{"name":"segmentid"}],"output":{"name":"bool"}}],[11,"hash","","",8,null],[11,"short_uuid_string","","Returns a shorter identifier of the segment.",8,{"inputs":[{"name":"self"}],"output":{"name":"string"}}],[11,"uuid_string","","Returns a segment uuid string.",8,{"inputs":[{"name":"self"}],"output":{"name":"string"}}],[11,"fmt","","",8,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"partial_cmp","","",8,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"cmp","","",8,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"name":"ordering"}}],[11,"clone","","",4,{"inputs":[{"name":"self"}],"output":{"name":"segmentcomponent"}}],[11,"iterator","","Iterates through the components.",4,null],[11,"clone","","",9,{"inputs":[{"name":"self"}],"output":{"name":"segment"}}],[11,"fmt","","",9,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"index","","Returns the index the segment belongs to.",9,{"inputs":[{"name":"self"}],"output":{"name":"index"}}],[11,"schema","","Returns our index's schema.",9,{"inputs":[{"name":"self"}],"output":{"name":"schema"}}],[11,"meta","","Returns the segment meta-information",9,{"inputs":[{"name":"self"}],"output":{"name":"segmentmeta"}}],[11,"id","","Returns the segment's id.",9,{"inputs":[{"name":"self"}],"output":{"name":"segmentid"}}],[11,"relative_path","","Returns the relative path of a component of our segment.",9,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"name":"pathbuf"}}],[11,"protect_from_delete","","Protects a specific component file from being deleted.",9,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"name":"fileprotection"}}],[11,"open_read","","Open one of the component file for a regular read.",9,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[11,"open_write","","Open one of the component file for regular write.",9,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[11,"clone","","",10,{"inputs":[{"name":"self"}],"output":{"name":"segmentmeta"}}],[11,"fmt","","",10,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new","","Creates a new segment meta for a segment with no deletes and no documents.",10,{"inputs":[{"name":"segmentid"}],"output":{"name":"segmentmeta"}}],[11,"id","","Returns the segment id.",10,{"inputs":[{"name":"self"}],"output":{"name":"segmentid"}}],[11,"num_deleted_docs","","Returns the number of deleted documents.",10,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"list_files","","Returns the list of files that are required for the segment meta.",10,{"inputs":[{"name":"self"}],"output":{"generics":["pathbuf"],"name":"hashset"}}],[11,"relative_path","","Returns the relative path of a component of our segment.",10,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"name":"pathbuf"}}],[11,"max_doc","","Return the highest doc id + 1",10,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"num_docs","","Return the number of documents in the segment.",10,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"delete_opstamp","","Returns the opstamp of the last delete operation taken in account in this segment.",10,{"inputs":[{"name":"self"}],"output":{"generics":["u64"],"name":"option"}}],[11,"has_deletes","","Returns true iff the segment meta contains delete information.",10,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"get_term_info","","Returns the term info associated with the term.",11,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"generics":["terminfo"],"name":"option"}}],[11,"terms","","Return the term dictionary datastructure.",11,{"inputs":[{"name":"self"}],"output":{"name":"termdictionaryimpl"}}],[11,"reset_block_postings_from_terminfo","","Resets the block segment to another position of the postings file.",11,{"inputs":[{"name":"self"},{"name":"terminfo"},{"name":"blocksegmentpostings"}],"output":null}],[11,"read_block_postings_from_terminfo","","Returns a block postings given a `term_info`. This method is for an advanced usage only.",11,{"inputs":[{"name":"self"},{"name":"terminfo"},{"name":"indexrecordoption"}],"output":{"name":"blocksegmentpostings"}}],[11,"read_postings_from_terminfo","","Returns a posting object given a `term_info`. This method is for an advanced usage only.",11,{"inputs":[{"name":"self"},{"name":"terminfo"},{"name":"indexrecordoption"}],"output":{"name":"segmentpostings"}}],[11,"read_postings","","Returns the segment postings associated with the term, and with the given option, or `None` if the term has never been encountered and indexed.",11,{"inputs":[{"name":"self"},{"name":"term"},{"name":"indexrecordoption"}],"output":{"generics":["segmentpostings"],"name":"option"}}],[11,"doc_freq","","Returns the number of documents containing the term.",11,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"u32"}}],[11,"wait_merging_threads","","The index writer",12,{"inputs":[{"name":"self"}],"output":{"generics":["error"],"name":"result"}}],[11,"get_merge_policy","","Accessor to the merge policy.",12,{"inputs":[{"name":"self"}],"output":{"generics":["mergepolicy"],"name":"box"}}],[11,"set_merge_policy","","Set the merge policy.",12,{"inputs":[{"name":"self"},{"generics":["mergepolicy"],"name":"box"}],"output":null}],[11,"garbage_collect_files","","Detects and removes the files that are not used by the index anymore.",12,{"inputs":[{"name":"self"}],"output":{"generics":["error"],"name":"result"}}],[11,"merge","","Merges a given list of segments",12,null],[11,"rollback","","Rollback to the last commit",12,{"inputs":[{"name":"self"}],"output":{"generics":["error"],"name":"result"}}],[11,"prepare_commit","","Prepares a commit.",12,{"inputs":[{"name":"self"}],"output":{"generics":["preparedcommit","error"],"name":"result"}}],[11,"commit","","Commits all of the pending changes",12,{"inputs":[{"name":"self"}],"output":{"generics":["u64","error"],"name":"result"}}],[11,"delete_term","","Delete all documents containing a given term.",12,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"u64"}}],[11,"commit_opstamp","","Returns the opstamp of the last successful commit.",12,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[11,"add_document","","Adds a document.",12,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"u64"}}],[11,"fmt","","",13,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"total_time","","Returns the total time elapsed in microseconds",13,{"inputs":[{"name":"self"}],"output":{"name":"i64"}}],[11,"open","","Open a new named subtask",13,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"opentimer"}}],[11,"default","","",13,{"inputs":[],"output":{"name":"timertree"}}],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new","","",0,{"inputs":[{"name":"errorkind"},{"name":"state"}],"output":{"name":"error"}}],[11,"from_kind","","",0,null],[11,"kind","","",0,null],[11,"iter","","",0,{"inputs":[{"name":"self"}],"output":{"name":"errorchainiter"}}],[11,"backtrace","","",0,{"inputs":[{"name":"self"}],"output":{"generics":["backtrace"],"name":"option"}}],[11,"extract_backtrace","","",0,{"inputs":[{"name":"error"}],"output":{"generics":["arc"],"name":"option"}}],[11,"from_kind","","Constructs an error from a kind, and generates a backtrace.",0,{"inputs":[{"name":"errorkind"}],"output":{"name":"error"}}],[11,"kind","","Returns the kind of the error.",0,{"inputs":[{"name":"self"}],"output":{"name":"errorkind"}}],[11,"iter","","Iterates over the error chain.",0,{"inputs":[{"name":"self"}],"output":{"name":"errorchainiter"}}],[11,"backtrace","","Returns the backtrace associated with this error.",0,{"inputs":[{"name":"self"}],"output":{"generics":["backtrace"],"name":"option"}}],[11,"description","","",0,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",0,{"inputs":[{"name":"self"}],"output":{"generics":["error"],"name":"option"}}],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",0,{"inputs":[{"name":"errorkind"}],"output":{"name":"self"}}],[11,"from","","",0,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"from","","",0,{"inputs":[{"name":"string"}],"output":{"name":"self"}}],[11,"deref","","",0,null],[11,"fmt","","",2,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",2,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","A string describing the error kind.",2,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"from","","",2,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"from","","",2,{"inputs":[{"name":"string"}],"output":{"name":"self"}}],[11,"from","","",2,{"inputs":[{"name":"error"}],"output":{"name":"self"}}],[11,"from","","",0,{"inputs":[{"name":"fastfieldnotavailableerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"ioerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"queryparsererror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"poisonerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"openreaderror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"docparsingerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"openwriteerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"opendirectoryerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[0,"tokenizer","","Tokenizer are in charge of chopping text into a stream of tokens ready for indexing.",null,null],[3,"AlphaNumOnlyFilter","tantivy::tokenizer","`TokenFilter` that removes all tokens that contain non ascii alphanumeric characters.",null,null],[3,"Token","","Token",null,null],[12,"offset_from","","Offset (byte index) of the first character of the token. Offsets shall not be modified by token filters.",14,null],[12,"offset_to","","Offset (byte index) of the last character of the token + 1. The text that generated the token should be obtained by &text[token.offset_from..token.offset_to]",14,null],[12,"position","","Position, expressed in number of tokens.",14,null],[12,"text","","Actual text content of the token.",14,null],[3,"TokenizerManager","","The tokenizer manager serves as a store for all of the pre-configured tokenizer pipelines.",null,null],[3,"SimpleTokenizer","","Tokenize the text by splitting on whitespaces and punctuation.",null,null],[3,"RawTokenizer","","For each value of the field, emit a single unprocessed token.",null,null],[3,"JapaneseTokenizer","","Simple japanese tokenizer based on the `tinysegmenter` crate.",null,null],[3,"RemoveLongFilter","","`RemoveLongFilter` removes tokens that are longer than a given number of bytes (in UTF-8 representation).",null,null],[3,"LowerCaser","","Token filter that lowercase terms.",null,null],[3,"Stemmer","","`Stemmer` token filter. Currently only English is supported. Tokens are expected to be lowercased beforehands.",null,null],[3,"FacetTokenizer","","The `FacetTokenizer` process a `Facet` binary representation and emits a token for all of its parent.",null,null],[11,"default","","",14,{"inputs":[],"output":{"name":"token"}}],[11,"clone","","",15,{"inputs":[{"name":"self"}],"output":{"name":"simpletokenizer"}}],[11,"token_stream","","",15,null],[11,"clone","","",16,{"inputs":[{"name":"self"}],"output":{"name":"lowercaser"}}],[11,"transform","","",16,null],[11,"clone","","",17,{"inputs":[{"name":"self"}],"output":{"name":"removelongfilter"}}],[11,"limit","","Creates a `RemoveLongFilter` given a limit in bytes of the UTF-8 representation.",17,{"inputs":[{"name":"usize"}],"output":{"name":"removelongfilter"}}],[11,"transform","","",17,null],[11,"clone","","",18,{"inputs":[{"name":"self"}],"output":{"name":"stemmer"}}],[11,"new","","Creates a new Stemmer `TokenFilter`.",18,{"inputs":[],"output":{"name":"stemmer"}}],[11,"transform","","",18,null],[11,"clone","","",19,{"inputs":[{"name":"self"}],"output":{"name":"facettokenizer"}}],[11,"token_stream","","",19,null],[11,"clone","","",20,{"inputs":[{"name":"self"}],"output":{"name":"tokenizermanager"}}],[11,"register","","Registers a new tokenizer associated with a given name.",20,{"inputs":[{"name":"self"},{"name":"str"},{"name":"a"}],"output":null}],[11,"get","","Accessing a tokenizer given its name.",20,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["box"],"name":"option"}}],[11,"default","","Creates an `TokenizerManager` prepopulated with the default pre-configured tokenizers of `tantivy`. - simple - en_stem - ja",20,{"inputs":[],"output":{"name":"tokenizermanager"}}],[11,"clone","","",21,{"inputs":[{"name":"self"}],"output":{"name":"japanesetokenizer"}}],[11,"token_stream","","",21,null],[11,"clone","","",22,{"inputs":[{"name":"self"}],"output":{"name":"rawtokenizer"}}],[11,"token_stream","","",22,null],[11,"clone","","",23,{"inputs":[{"name":"self"}],"output":{"name":"alphanumonlyfilter"}}],[11,"transform","","",23,null],[8,"TokenFilter","","Trait for the pluggable components of `Tokenizer`s.",null,null],[16,"ResultTokenStream","","The resulting `TokenStream` type.",24,null],[10,"transform","","Wraps a token stream and returns the modified one.",24,null],[8,"TokenStream","","`TokenStream` is the result of the tokenization.",null,null],[10,"advance","","Advance to the next token",25,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[10,"token","","Returns a reference to the current token.",25,{"inputs":[{"name":"self"}],"output":{"name":"token"}}],[10,"token_mut","","Returns a mutable reference to the current token.",25,{"inputs":[{"name":"self"}],"output":{"name":"token"}}],[11,"next","","Helper to iterate over tokens. It simply combines a call to `.advance()` and `.token()`.",25,{"inputs":[{"name":"self"}],"output":{"generics":["token"],"name":"option"}}],[11,"process","","Helper function to consume the entire `TokenStream` and push the tokens to a sink function.",25,{"inputs":[{"name":"self"},{"name":"fnmut"}],"output":{"name":"u32"}}],[8,"Tokenizer","","`Tokenizer` are in charge of splitting text into a stream of token before indexing.",null,null],[16,"TokenStreamImpl","","Type associated to the resulting tokenstream tokenstream.",26,null],[10,"token_stream","","Creates a token stream for a given `str`.",26,null],[11,"filter","","Appends a token filter to the current tokenizer.",26,{"inputs":[{"name":"self"},{"name":"newfilter"}],"output":{"name":"chaintokenizer"}}],[8,"BoxedTokenizer","","A boxed tokenizer",null,null],[10,"token_stream","","Tokenize a `&str`",27,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["tokenstream"],"name":"box"}}],[10,"token_stream_texts","","Tokenize an array`&str`",27,null],[10,"boxed_clone","","Return a boxed clone of the tokenizer",27,{"inputs":[{"name":"self"}],"output":{"generics":["boxedtokenizer"],"name":"box"}}],[0,"termdict","tantivy","The term dictionary is one of the key datastructure of tantivy. It associates sorted `terms` to a `TermInfo` struct that serves as an address in their respective posting list.",null,null],[3,"TermMerger","tantivy::termdict","Given a list of sorted term streams, returns an iterator over sorted unique terms.",null,null],[3,"TermDictionaryBuilderImpl","","See `TermDictionaryBuilder`",null,null],[3,"TermDictionaryImpl","","See `TermDictionary`",null,null],[3,"TermStreamerBuilderImpl","","See `TermStreamerBuilder`",null,null],[3,"TermStreamerImpl","","See `TermStreamer`",null,null],[11,"new","","",28,{"inputs":[{"name":"w"},{"name":"fieldtype"}],"output":{"name":"result"}}],[11,"insert","","",28,{"inputs":[{"name":"self"},{"name":"k"},{"name":"terminfo"}],"output":{"name":"result"}}],[11,"finish","","",28,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"from_source","","",29,{"inputs":[{"name":"readonlysource"}],"output":{"name":"self"}}],[11,"num_terms","","",29,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"term_ord","","",29,{"inputs":[{"name":"self"},{"name":"k"}],"output":{"generics":["termordinal"],"name":"option"}}],[11,"ord_to_term","","",29,{"inputs":[{"name":"self"},{"name":"termordinal"},{"name":"vec"}],"output":{"name":"bool"}}],[11,"term_info_from_ord","","",29,{"inputs":[{"name":"self"},{"name":"termordinal"}],"output":{"name":"terminfo"}}],[11,"get","","",29,{"inputs":[{"name":"self"},{"name":"k"}],"output":{"generics":["terminfo"],"name":"option"}}],[11,"range","","",29,{"inputs":[{"name":"self"}],"output":{"name":"termstreamerbuilderimpl"}}],[11,"ge","","",30,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[11,"gt","","",30,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[11,"le","","",30,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[11,"lt","","",30,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[11,"into_stream","","",30,null],[11,"advance","","",31,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"term_ord","","",31,{"inputs":[{"name":"self"}],"output":{"name":"termordinal"}}],[11,"key","","",31,null],[11,"value","","",31,{"inputs":[{"name":"self"}],"output":{"name":"terminfo"}}],[11,"new","","Stream of merged term dictionary",32,{"inputs":[{"generics":["termstreamerimpl"],"name":"vec"}],"output":{"name":"termmerger"}}],[11,"advance","","Advance the term iterator to the next term. Returns true if there is indeed another term False if there is none.",32,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"key","","Returns the current term.",32,null],[11,"current_kvs","","Returns the sorted list of segment ordinals that include the current term.",32,null],[11,"next","","Iterates through terms",32,{"inputs":[{"name":"self"}],"output":{"generics":["term"],"name":"option"}}],[6,"TermOrdinal","","Position of the term in the sorted list of terms.",null,null],[8,"TermDictionary","","Dictionary associating sorted `&[u8]` to values",null,null],[16,"Streamer","","Streamer type associated to the term dictionary",33,null],[16,"StreamBuilder","","StreamerBuilder type associated to the term dictionary",33,null],[10,"from_source","","Opens a `TermDictionary` given a data source.",33,{"inputs":[{"name":"readonlysource"}],"output":{"name":"self"}}],[10,"num_terms","","Returns the number of terms in the dictionary. Term ordinals range from 0 to `num_terms() - 1`.",33,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[10,"term_ord","","Returns the ordinal associated to a given term.",33,{"inputs":[{"name":"self"},{"name":"k"}],"output":{"generics":["termordinal"],"name":"option"}}],[10,"ord_to_term","","Returns the term associated to a given term ordinal.",33,{"inputs":[{"name":"self"},{"name":"termordinal"},{"name":"vec"}],"output":{"name":"bool"}}],[10,"term_info_from_ord","","Returns the number of terms in the dictionary.",33,{"inputs":[{"name":"self"},{"name":"termordinal"}],"output":{"name":"terminfo"}}],[10,"get","","Lookups the value corresponding to the key.",33,{"inputs":[{"name":"self"},{"name":"k"}],"output":{"generics":["terminfo"],"name":"option"}}],[10,"range","","Returns a range builder, to stream all of the terms within an interval.",33,null],[11,"stream","","A stream of all the sorted terms. See also `.stream_field()`",33,null],[11,"stream_field","","A stream of all the sorted terms in the given field.",33,null],[8,"TermDictionaryBuilder","","Builder for the new term dictionary.",null,null],[10,"new","","Creates a new `TermDictionaryBuilder`",34,{"inputs":[{"name":"w"},{"name":"fieldtype"}],"output":{"name":"result"}}],[10,"insert","","Inserts a `(key, value)` pair in the term dictionary.",34,{"inputs":[{"name":"self"},{"name":"k"},{"name":"terminfo"}],"output":{"name":"result"}}],[10,"finish","","Finalize writing the builder, and returns the underlying `Write` object.",34,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[8,"TermStreamer","","`TermStreamer` acts as a cursor over a range of terms of a segment. Terms are guaranteed to be sorted.",null,null],[10,"advance","","Advance position the stream on the next item. Before the first call to `.advance()`, the stream is an unitialized state.",35,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[10,"key","","Accesses the current key.",35,null],[10,"term_ord","","Returns the `TermOrdinal` of the given term.",35,{"inputs":[{"name":"self"}],"output":{"name":"termordinal"}}],[10,"value","","Accesses the current value.",35,{"inputs":[{"name":"self"}],"output":{"name":"terminfo"}}],[11,"next","","Return the next `(key, value)` pair.",35,{"inputs":[{"name":"self"}],"output":{"name":"option"}}],[8,"TermStreamerBuilder","","`TermStreamerBuilder` is an helper object used to define a range of terms that should be streamed.",null,null],[16,"Streamer","","Associated `TermStreamer` type that this builder is building.",36,null],[10,"ge","","Limit the range to terms greater or equal to the bound",36,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[10,"gt","","Limit the range to terms strictly greater than the bound",36,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[10,"lt","","Limit the range to terms lesser or equal to the bound",36,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[10,"le","","Limit the range to terms lesser or equal to the bound",36,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[10,"into_stream","","Creates the stream corresponding to the range of terms defined using the `TermStreamerBuilder`.",36,null],[0,"store","tantivy","Compressed/slow/row-oriented storage for documents.",null,null],[3,"StoreReader","tantivy::store","Reads document off tantivy's `Store`",null,null],[3,"StoreWriter","","Write tantivy's `Store`",null,null],[11,"clone","","",37,{"inputs":[{"name":"self"}],"output":{"name":"storereader"}}],[11,"from_source","","Opens a store reader",37,{"inputs":[{"name":"readonlysource"}],"output":{"name":"storereader"}}],[11,"get","","Reads a given document.",37,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"generics":["document"],"name":"result"}}],[11,"new","","Create a store writer.",38,{"inputs":[{"name":"writeptr"}],"output":{"name":"storewriter"}}],[11,"store","","Store a new document.",38,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"result"}}],[11,"stack","","Stacks a store reader on top of the documents written so far. This method is an optimization compared to iterating over the documents in the store and adding them one by one, as the store's data will not be decompressed and then recompressed.",38,{"inputs":[{"name":"self"},{"name":"storereader"}],"output":{"name":"result"}}],[11,"close","","Finalized the store writer.",38,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[0,"query","tantivy","Query",null,null],[3,"Intersection","tantivy::query","Creates a `DocSet` that iterator through the intersection of two `DocSet`s.",null,null],[3,"Union","","Creates a `DocSet` that iterator through the intersection of two `DocSet`s.",null,null],[3,"RequiredOptionalScorer","","Given a required scorer and an optional scorer matches all document from the required scorer and complements the score using the optional scorer.",null,null],[3,"Exclude","","Filters a given `DocSet` by removing the docs from a given `DocSet`.",null,null],[3,"BitSetDocSet","","A `BitSetDocSet` makes it possible to iterate through a bitset as if it was a `DocSet`.",null,null],[3,"BooleanQuery","","The boolean query combines a set of queries",null,null],[3,"PhraseQuery","","`PhraseQuery` matches a specific sequence of words.",null,null],[3,"QueryParser","","Tantivy's Query parser",null,null],[3,"EmptyScorer","","`EmptyScorer` is a dummy `Scorer` in which no document matches.",null,null],[3,"TermQuery","","A Term query matches all of the documents containing a specific term.",null,null],[3,"AllQuery","","Query that matches all of the documents.",null,null],[3,"AllScorer","","Scorer associated to the `AllQuery` query.",null,null],[3,"AllWeight","","Weight associated to the `AllQuery` query.",null,null],[3,"RangeQuery","","`RangeQuery` match all documents that have at least one term within a defined range.",null,null],[3,"ConstScorer","","Wraps a `DocSet` and simply returns a constant `Scorer`. The `ConstScorer` is useful if you have a `DocSet` where you needed a scorer.",null,null],[4,"Occur","","Defines whether a term in a query must be present, should be present or must not be present.",null,null],[13,"Should","","For a given document to be considered for scoring, at least one of the document with the Should or the Must Occur constraint must be within the document.",39,null],[13,"Must","","Document without the term are excluded from the search.",39,null],[13,"MustNot","","Document that contain the term are excluded from the search.",39,null],[4,"QueryParserError","","Possible error that may happen when parsing a query.",null,null],[13,"SyntaxError","","Error in the query syntax",40,null],[13,"FieldDoesNotExist","","`FieldDoesNotExist(field_name: String)` The query references a field that is not in the schema",40,null],[13,"ExpectedInt","","The query contains a term for a `u64`-field, but the value is not a u64.",40,null],[13,"AllButQueryForbidden","","It is forbidden queries that are only \"excluding\". (e.g. -title:pop)",40,null],[13,"NoDefaultFieldDeclared","","If no default field is declared, running a query without any field specified is forbbidden.",40,null],[13,"FieldNotIndexed","","The field searched for is not declared as indexed in the schema.",40,null],[13,"UnknownTokenizer","","The tokenizer for the given field is unknown The two argument strings are the name of the field, the name of the tokenizer",40,null],[11,"fmt","","",41,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",41,{"inputs":[{"name":"vec"}],"output":{"name":"booleanquery"}}],[11,"weight","","",41,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"new_multiterms_query","","Helper method to create a boolean query matching a given list of terms. The resulting query is a disjunction of the terms.",41,{"inputs":[{"generics":["term"],"name":"vec"}],"output":{"name":"booleanquery"}}],[11,"advance","","",42,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"doc","","",42,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",42,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",42,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"new","","Creates a new `ConstScorer`.",43,{"inputs":[{"name":"tdocset"}],"output":{"name":"constscorer"}}],[11,"set_score","","Sets the constant score to a different value.",43,{"inputs":[{"name":"self"},{"name":"score"}],"output":null}],[11,"advance","","",43,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",43,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"fill_buffer","","",43,null],[11,"doc","","",43,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",43,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"append_to_bitset","","",43,{"inputs":[{"name":"self"},{"name":"bitset"}],"output":null}],[11,"score","","",43,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"fmt","","",39,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",39,{"inputs":[{"name":"self"}],"output":{"name":"occur"}}],[11,"hash","","",39,null],[11,"eq","","",39,{"inputs":[{"name":"self"},{"name":"occur"}],"output":{"name":"bool"}}],[11,"fmt","","",44,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new","","Creates a new term query.",44,{"inputs":[{"name":"term"},{"name":"indexrecordoption"}],"output":{"name":"termquery"}}],[11,"specialized_weight","","Returns a weight object.",44,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"name":"termweight"}}],[11,"weight","","",44,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"fmt","","",40,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",40,{"inputs":[{"name":"self"},{"name":"queryparsererror"}],"output":{"name":"bool"}}],[11,"ne","","",40,{"inputs":[{"name":"self"},{"name":"queryparsererror"}],"output":{"name":"bool"}}],[11,"from","","",40,{"inputs":[{"name":"parseinterror"}],"output":{"name":"queryparsererror"}}],[11,"new","","Creates a `QueryParser`, given * schema - index Schema * default_fields - fields used to search if no field is specifically defined in the query.",45,{"inputs":[{"name":"schema"},{"generics":["field"],"name":"vec"},{"name":"tokenizermanager"}],"output":{"name":"queryparser"}}],[11,"for_index","","Creates a `QueryParser`, given * an index * a set of default - fields used to search if no field is specifically defined in the query.",45,{"inputs":[{"name":"index"},{"generics":["field"],"name":"vec"}],"output":{"name":"queryparser"}}],[11,"set_conjunction_by_default","","Set the default way to compose queries to a conjunction.",45,{"inputs":[{"name":"self"}],"output":null}],[11,"parse_query","","Parse a query",45,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["box","queryparsererror"],"name":"result"}}],[11,"fmt","","",46,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"weight","","Create the weight associated to a query.",46,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"from","","",46,{"inputs":[{"generics":["term"],"name":"vec"}],"output":{"name":"phrasequery"}}],[11,"fmt","","",47,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"weight","","",47,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"scorer","","",48,{"inputs":[{"name":"self"},{"name":"segmentreader"}],"output":{"generics":["box"],"name":"result"}}],[11,"advance","","",49,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"doc","","",49,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",49,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",49,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"advance","","",50,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",50,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"doc","","Returns the current document",50,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","Returns half of the `max_doc` This is quite a terrible heuristic, but we don't have access to any better value.",50,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"fmt","","",51,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new_i64","","Create a new `RangeQuery` over a `i64` field.",51,{"inputs":[{"name":"field"},{"name":"trangeargument"}],"output":{"name":"rangequery"}}],[11,"new_u64","","Create a new `RangeQuery` over a `u64` field.",51,{"inputs":[{"name":"field"},{"name":"trangeargument"}],"output":{"name":"rangequery"}}],[11,"new_str","","Create a new `RangeQuery` over a `Str` field.",51,{"inputs":[{"name":"field"},{"name":"trangeargument"}],"output":{"name":"rangequery"}}],[11,"weight","","",51,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"new","","Creates a new `ExcludeScorer`",52,{"inputs":[{"name":"tdocset"},{"name":"tdocsetexclude"}],"output":{"name":"exclude"}}],[11,"advance","","",52,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",52,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"doc","","",52,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","`.size_hint()` directly returns the size of the underlying docset without taking in account the fact that docs might be deleted.",52,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",52,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"from","","",53,{"inputs":[{"name":"vec"}],"output":{"name":"union"}}],[11,"advance","","",53,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"count","","",53,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"skip_next","","",53,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"doc","","",53,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",53,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",53,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"from","","",54,{"inputs":[{"name":"vec"}],"output":{"name":"intersection"}}],[11,"docsets","","Returns an array to the underlying `DocSet`s of the intersection. These `DocSet` are in the same position as the `IntersectionDocSet`, so that user can access their `docfreq` and `positions`.",54,null],[11,"advance","","",54,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",54,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"doc","","",54,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",54,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",54,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"new","","Creates a new `RequiredOptionalScorer`.",55,{"inputs":[{"name":"treqscorer"},{"name":"toptscorer"}],"output":{"name":"requiredoptionalscorer"}}],[11,"advance","","",55,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"doc","","",55,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",55,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",55,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[8,"Query","","The `Query` trait defines a set of documents and a scoring method for those documents.",null,null],[10,"weight","","Create the weight associated to a query.",56,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"count","","Returns the number of documents matching the query.",56,{"inputs":[{"name":"self"},{"name":"searcher"}],"output":{"generics":["usize"],"name":"result"}}],[11,"search","","Search works as follows :",56,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"collector"}],"output":{"generics":["timertree"],"name":"result"}}],[8,"Scorer","","Scored set of documents matching a query within a specific segment.",null,null],[10,"score","","Returns the score.",57,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"collect","","Consumes the complete `DocSet` and push the scored documents to the collector.",57,{"inputs":[{"name":"self"},{"name":"collector"}],"output":null}],[8,"Weight","","A Weight is the specialization of a Query for a given set of segments.",null,null],[10,"scorer","","Returns the scorer for the given segment. See `Query`.",58,{"inputs":[{"name":"self"},{"name":"segmentreader"}],"output":{"generics":["box"],"name":"result"}}],[11,"count","","Returns the number documents within the given `SegmentReader`.",58,{"inputs":[{"name":"self"},{"name":"segmentreader"}],"output":{"generics":["u32"],"name":"result"}}],[0,"directory","tantivy","WORM directory abstraction.",null,null],[3,"RAMDirectory","tantivy::directory","A Directory storing everything in anonymous memory.",null,null],[3,"MmapDirectory","","Directory storing data in files, read via mmap.",null,null],[4,"ReadOnlySource","","Read object that represents files in tantivy.",null,null],[13,"Mmap","","Mmap source of data",59,null],[13,"Anonymous","","Wrapping a `Vec`",59,null],[11,"clone","","",60,{"inputs":[{"name":"self"}],"output":{"name":"mmapdirectory"}}],[11,"fmt","","",60,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"create_from_tempdir","","Creates a new MmapDirectory in a temporary directory.",60,{"inputs":[],"output":{"generics":["mmapdirectory"],"name":"result"}}],[11,"open","","Opens a MmapDirectory in a directory.",60,{"inputs":[{"name":"p"}],"output":{"generics":["mmapdirectory","opendirectoryerror"],"name":"result"}}],[11,"get_cache_info","","Returns some statistical information about the Mmap cache.",60,{"inputs":[{"name":"self"}],"output":{"name":"cacheinfo"}}],[11,"open_read","","",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[11,"open_write","","",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[11,"delete","","Any entry associated to the path in the mmap will be removed before the file is deleted.",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["deleteerror"],"name":"result"}}],[11,"exists","","",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[11,"atomic_read","","",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["vec","openreaderror"],"name":"result"}}],[11,"atomic_write","","",60,null],[11,"box_clone","","",60,{"inputs":[{"name":"self"}],"output":{"generics":["directory"],"name":"box"}}],[11,"fmt","","",61,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",61,{"inputs":[{"name":"self"}],"output":{"name":"ramdirectory"}}],[11,"create","","Constructor",61,{"inputs":[],"output":{"name":"ramdirectory"}}],[11,"open_read","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[11,"open_write","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[11,"delete","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["deleteerror"],"name":"result"}}],[11,"exists","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[11,"atomic_read","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["vec","openreaderror"],"name":"result"}}],[11,"atomic_write","","",61,null],[11,"box_clone","","",61,{"inputs":[{"name":"self"}],"output":{"generics":["directory"],"name":"box"}}],[11,"deref","","",59,null],[11,"empty","","Creates an empty ReadOnlySource",59,{"inputs":[],"output":{"name":"readonlysource"}}],[11,"as_slice","","Returns the data underlying the ReadOnlySource object.",59,null],[11,"split","","Splits into 2 `ReadOnlySource`, at the offset given as an argument.",59,null],[11,"slice","","Creates a ReadOnlySource that is just a view over a slice of the data.",59,{"inputs":[{"name":"self"},{"name":"usize"},{"name":"usize"}],"output":{"name":"readonlysource"}}],[11,"slice_from","","Like `.slice(...)` but enforcing only the `from` boundary.",59,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"readonlysource"}}],[11,"slice_to","","Like `.slice(...)` but enforcing only the `to` boundary.",59,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"readonlysource"}}],[11,"len","","",59,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"clone","","",59,{"inputs":[{"name":"self"}],"output":{"name":"self"}}],[11,"from","","",59,{"inputs":[{"generics":["u8"],"name":"vec"}],"output":{"name":"readonlysource"}}],[0,"error","","Errors specific to the directory module.",null,null],[3,"IOError","tantivy::directory::error","General IO error with an optional path to the offending file.",null,null],[4,"OpenDirectoryError","","Error that may occur when opening a directory",null,null],[13,"DoesNotExist","","The underlying directory does not exists.",62,null],[13,"NotADirectory","","The path exists but is not a directory.",62,null],[4,"OpenWriteError","","Error that may occur when starting to write in a file",null,null],[13,"FileAlreadyExists","","Our directory is WORM, writing an existing file is forbidden. Checkout the `Directory` documentation.",63,null],[13,"IOError","","Any kind of IO error that happens when writing in the underlying IO device.",63,null],[4,"OpenReadError","","Error that may occur when accessing a file read",null,null],[13,"FileDoesNotExist","","The file does not exists.",64,null],[13,"IOError","","Any kind of IO error that happens when interacting with the underlying IO device.",64,null],[4,"DeleteError","","Error that may occur when trying to delete a file",null,null],[13,"FileDoesNotExist","","The file does not exists.",65,null],[13,"IOError","","Any kind of IO error that happens when interacting with the underlying IO device.",65,null],[13,"FileProtected","","The file may not be deleted because it is protected.",65,null],[11,"fmt","","",66,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",66,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",66,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",66,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[11,"from","","",66,{"inputs":[{"name":"error"}],"output":{"name":"ioerror"}}],[11,"fmt","","",62,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",62,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",62,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",62,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[11,"fmt","","",63,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",63,{"inputs":[{"name":"ioerror"}],"output":{"name":"openwriteerror"}}],[11,"fmt","","",63,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",63,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",63,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[11,"fmt","","",64,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",64,{"inputs":[{"name":"ioerror"}],"output":{"name":"openreaderror"}}],[11,"fmt","","",64,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",64,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",64,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[11,"fmt","","",65,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",65,{"inputs":[{"name":"ioerror"}],"output":{"name":"deleteerror"}}],[11,"fmt","","",65,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",65,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",65,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[6,"WritePtr","tantivy::directory","Write object for Directory.",null,null],[8,"Directory","","Write-once read many (WORM) abstraction for where tantivy's data should be stored.",null,null],[10,"open_read","","Opens a virtual file for read.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[10,"delete","","Removes a file",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["deleteerror"],"name":"result"}}],[10,"exists","","Returns true iff the file exists",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[10,"open_write","","Opens a writer for the virtual file associated with a Path.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[10,"atomic_read","","Reads the full content file that has been written using atomic_write.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["vec","openreaderror"],"name":"result"}}],[10,"atomic_write","","Atomically replace the content of a file with data.",67,null],[10,"box_clone","","Clones the directory and boxes the clone",67,{"inputs":[{"name":"self"}],"output":{"generics":["directory"],"name":"box"}}],[8,"SeekableWrite","","Synonym of Seek + Write",null,null],[0,"collector","tantivy","Defines how the documents matching a search query should be processed.",null,null],[3,"CountCollector","tantivy::collector","`CountCollector` collector only counts how many documents match the query.",null,null],[3,"MultiCollector","","Multicollector makes it possible to collect on more than one collector. It should only be used for use cases where the Collector types is unknown at compile time. If the type of the collectors is known, you should prefer to use `ChainedCollector`.",null,null],[3,"TopCollector","","The Top Collector keeps track of the K documents with the best scores.",null,null],[3,"FacetCollector","","Collector for faceting",null,null],[5,"chain","","Creates a `ChainedCollector`",null,{"inputs":[],"output":{"generics":["donothingcollector","donothingcollector"],"name":"chainedcollector"}}],[11,"default","","",68,{"inputs":[],"output":{"name":"countcollector"}}],[11,"count","","Returns the count of documents that were collected.",68,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"set_segment","","",68,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[11,"collect","","",68,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[11,"requires_scoring","","",68,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"from","","Constructor",69,{"inputs":[{"generics":["collector"],"name":"vec"}],"output":{"name":"multicollector"}}],[11,"set_segment","","",69,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[11,"collect","","",69,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[11,"requires_scoring","","",69,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"with_limit","","Creates a top collector, with a number of documents equal to \"limit\".",70,{"inputs":[{"name":"usize"}],"output":{"name":"topcollector"}}],[11,"docs","","Returns K best documents sorted in decreasing order.",70,{"inputs":[{"name":"self"}],"output":{"generics":["docaddress"],"name":"vec"}}],[11,"score_docs","","Returns K best ScoredDocument sorted in decreasing order.",70,{"inputs":[{"name":"self"}],"output":{"name":"vec"}}],[11,"at_capacity","","Return true iff at least K documents have gone through the collector.",70,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"set_segment","","",70,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[11,"collect","","",70,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[11,"requires_scoring","","",70,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"for_field","","Create a facet collector to collect the facets from a specific facet `Field`.",71,{"inputs":[{"name":"field"}],"output":{"name":"facetcollector"}}],[11,"add_facet","","Adds a facet that we want to record counts",71,{"inputs":[{"name":"self"},{"name":"t"}],"output":null}],[11,"harvest","","Returns the results of the collection.",71,{"inputs":[{"name":"self"}],"output":{"name":"facetcounts"}}],[11,"set_segment","","",71,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[11,"collect","","",71,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[11,"requires_scoring","","",71,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[8,"Collector","","Collectors are in charge of collecting and retaining relevant information from the document found and scored by the query.",null,null],[10,"set_segment","","`set_segment` is called before beginning to enumerate on this segment.",72,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[10,"collect","","The query pushes the scored document to the collector via this method.",72,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[10,"requires_scoring","","Returns true iff the collector requires to compute scores for documents.",72,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[0,"postings","tantivy","Postings module (also called inverted index)",null,null],[3,"FieldSerializer","tantivy::postings","The field serializer is in charge of the serialization of a specific field.",null,null],[3,"InvertedIndexSerializer","","`PostingsSerializer` is in charge of serializing postings on disk, in the * `.idx` (inverted index) * `.pos` (positions file) * `.term` (term dictionary)",null,null],[3,"TermInfo","","`TermInfo` contains all of the information associated to terms in the `.term` file.",null,null],[12,"doc_freq","","Number of documents in the segment containing the term",73,null],[12,"postings_offset","","Offset within the postings (`.idx`) file.",73,null],[12,"positions_offset","","Offset within the position (`.pos`) file.",73,null],[12,"positions_inner_offset","","Offset within the position block.",73,null],[3,"BlockSegmentPostings","","`BlockSegmentPostings` is a cursor iterating over blocks of documents.",null,null],[3,"SegmentPostings","","`SegmentPostings` represents the inverted list or postings associated to a term in a `Segment`.",null,null],[11,"open","","Open a new `PostingsSerializer` for the given segment",74,{"inputs":[{"name":"segment"}],"output":{"generics":["invertedindexserializer"],"name":"result"}}],[11,"new_field","","Must be called before starting pushing terms of a given field.",74,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["fieldserializer"],"name":"result"}}],[11,"close","","Closes the serializer.",74,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"new_term","","Starts the postings for a new term. * term - the term. It needs to come after the previous term according to the lexicographical order. * doc_freq - return the number of document containing the term.",75,null],[11,"write_doc","","Serialize the information that a document contains the current term, its term frequency, and the position deltas.",75,null],[11,"close_term","","Finish the serialization for this term postings.",75,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"close","","Closes the current current field.",75,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"fmt","","",73,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"default","","",73,{"inputs":[],"output":{"name":"terminfo"}}],[11,"cmp","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"ordering"}}],[11,"partial_cmp","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"le","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"gt","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"ge","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"eq","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"ne","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"clone","","",73,{"inputs":[{"name":"self"}],"output":{"name":"terminfo"}}],[11,"create_from_docs","","Creates a segment postings object with the given documents and no frequency encoded.",76,null],[11,"from_block_postings","","Reads a Segment postings from an &[u8]",76,{"inputs":[{"name":"blocksegmentpostings"},{"name":"deletebitset"},{"generics":["compressedintstream"],"name":"option"}],"output":{"name":"segmentpostings"}}],[11,"empty","","Returns an empty segment postings object",76,{"inputs":[],"output":{"name":"segmentpostings"}}],[11,"advance","","",76,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",76,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"size_hint","","",76,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"doc","","Return the current document's `DocId`.",76,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"append_to_bitset","","",76,{"inputs":[{"name":"self"},{"name":"bitset"}],"output":null}],[11,"len","","",76,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"term_freq","","",76,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"positions","","",76,null],[11,"doc_freq","","Returns the document frequency associated to this block postings.",77,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"docs","","Returns the array of docs in the current block.",77,null],[11,"doc","","Return the document at index `idx` of the block.",77,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"u32"}}],[11,"freqs","","Return the array of `term freq` in the block.",77,null],[11,"freq","","Return the frequency at index `idx` of the block.",77,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"u32"}}],[11,"advance","","Advance to the next block.",77,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"empty","","Returns an empty segment postings object",77,{"inputs":[],"output":{"name":"blocksegmentpostings"}}],[11,"next","","",77,{"inputs":[{"name":"self"}],"output":{"name":"option"}}],[8,"Postings","","Postings (also called inverted list)",null,null],[10,"term_freq","","Returns the term frequency",78,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[10,"positions","","Returns the list of positions of the term, expressed as a list of token ordinals.",78,null],[8,"HasLen","","Has length trait",null,null],[10,"len","","Return length",79,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"is_empty","","Returns true iff empty.",79,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[0,"schema","tantivy","Schema definition for tantivy's indices.",null,null],[3,"NamedFieldDocument","tantivy::schema","Internal representation of a document used for JSON serialization.",null,null],[12,"0","","",80,null],[3,"Schema","","Tantivy has a very strict schema. You need to specify in advance, whether a field is indexed or not, stored or not, and RAM-based or not.",null,null],[3,"SchemaBuilder","","Tantivy has a very strict schema. You need to specify in advance whether a field is indexed or not, stored or not, and RAM-based or not.",null,null],[3,"Facet","","A Facet represent a point in a given hierarchy.",null,null],[3,"Document","","Tantivy's Document is the object that can be indexed and then searched for.",null,null],[3,"Field","","`Field` is actually a `u8` identifying a `Field` The schema is in charge of holding mapping between field names to `Field` objects.",null,null],[12,"0","","",81,null],[3,"Term","","Term represents the value that the token can take.",null,null],[3,"FieldEntry","","A `FieldEntry` represents a field and its configuration. `Schema` are a collection of `FieldEntry`",null,null],[3,"FieldValue","","`FieldValue` holds together a `Field` and its `Value`.",null,null],[3,"TextOptions","","Define how a text field should be handled by tantivy.",null,null],[3,"TextFieldIndexing","","Configuration defining indexing for a text field. It wraps:",null,null],[3,"IntOptions","","Define how an int field should be handled by tantivy.",null,null],[4,"Value","","Value represents the value of a any field. It is an enum over all over all of the possible field type.",null,null],[13,"Str","","The str type is used for any text information.",82,null],[13,"U64","","Unsigned 64-bits Integer `u64`",82,null],[13,"I64","","Signed 64-bits Integer `i64`",82,null],[13,"Facet","","Hierarchical Facet",82,null],[4,"DocParsingError","","Error that may happen when deserializing a document from JSON.",null,null],[13,"NotJSON","","The payload given is not valid JSON.",83,null],[13,"ValueError","","One of the value node could not be parsed.",83,null],[13,"NoSuchFieldInSchema","","The json-document contains a field that is not declared in the schema.",83,null],[4,"FieldType","","A `FieldType` describes the type (text, u64) of a field as well as how it should be handled by tantivy.",null,null],[13,"Str","","String field type configuration",84,null],[13,"U64","","Unsigned 64-bits integers field type configuration",84,null],[13,"I64","","Signed 64-bits integers 64 field type configuration",84,null],[13,"HierarchicalFacet","","Hierachical Facet",84,null],[4,"IndexRecordOption","","`IndexRecordOption` describes an amount information associated to a given indexed field.",null,null],[13,"Basic","","records only the `DocId`s",85,null],[13,"WithFreqs","","records the document ids as well as the term frequency. The term frequency can help giving better scoring of the documents.",85,null],[13,"WithFreqsAndPositions","","records the document id, the term frequency and the positions of the occurences in the document. Positions are required to run PhraseQueries.",85,null],[4,"Cardinality","","Express whether a field is single-value or multi-valued.",null,null],[13,"SingleValue","","The document must have exactly one value associated to the document.",86,null],[13,"MultiValues","","The document can have any number of values associated to the document. This is more memory and CPU expensive than the SingleValue solution.",86,null],[5,"is_valid_field_name","","Validator for a potential `field_name`. Returns true iff the name can be use for a field name.",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[11,"new","","Create a new `SchemaBuilder`",87,{"inputs":[],"output":{"name":"schemabuilder"}}],[11,"add_u64_field","","Adds a new u64 field. Returns the associated field handle",87,{"inputs":[{"name":"self"},{"name":"str"},{"name":"intoptions"}],"output":{"name":"field"}}],[11,"add_i64_field","","Adds a new i64 field. Returns the associated field handle",87,{"inputs":[{"name":"self"},{"name":"str"},{"name":"intoptions"}],"output":{"name":"field"}}],[11,"add_text_field","","Adds a new text field. Returns the associated field handle",87,{"inputs":[{"name":"self"},{"name":"str"},{"name":"textoptions"}],"output":{"name":"field"}}],[11,"add_facet_field","","Adds a facet field to the schema.",87,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"field"}}],[11,"build","","Finalize the creation of a `Schema` This will consume your `SchemaBuilder`",87,{"inputs":[{"name":"self"}],"output":{"name":"schema"}}],[11,"default","","",87,{"inputs":[],"output":{"name":"schemabuilder"}}],[11,"clone","","",88,{"inputs":[{"name":"self"}],"output":{"name":"schema"}}],[11,"get_field_entry","","Return the `FieldEntry` associated to a `Field`.",88,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"fieldentry"}}],[11,"get_field_name","","Return the field name for a given `Field`.",88,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"str"}}],[11,"fields","","Return the list of all the `Field`s.",88,null],[11,"get_field","","Returns the field options associated with a given name.",88,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["field"],"name":"option"}}],[11,"to_named_doc","","Create a named document off the doc.",88,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"namedfielddocument"}}],[11,"to_json","","Encode the schema in JSON.",88,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"string"}}],[11,"parse_document","","Build a document object from a json-object.",88,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["document","docparsingerror"],"name":"result"}}],[11,"fmt","","",88,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"generics":["error"],"name":"result"}}],[11,"serialize","","",88,{"inputs":[{"name":"self"},{"name":"s"}],"output":{"name":"result"}}],[11,"deserialize","","",88,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"from","","",88,{"inputs":[{"name":"schemabuilder"}],"output":{"name":"schema"}}],[11,"fmt","","",83,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","tantivy","",89,{"inputs":[{"name":"self"}],"output":{"name":"term"}}],[11,"eq","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"ne","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"le","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"gt","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"ge","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"cmp","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"ordering"}}],[11,"hash","","",89,null],[11,"from_field_i64","","Builds a term given a field, and a u64-value",89,{"inputs":[{"name":"field"},{"name":"i64"}],"output":{"name":"term"}}],[11,"from_field_text","","Builds a term given a field, and a string value",89,{"inputs":[{"name":"field"},{"name":"str"}],"output":{"name":"term"}}],[11,"from_field_u64","","Builds a term given a field, and a u64-value",89,{"inputs":[{"name":"field"},{"name":"u64"}],"output":{"name":"term"}}],[11,"set_field","","Returns the field.",89,{"inputs":[{"name":"self"},{"name":"field"}],"output":null}],[11,"set_u64","","Sets a u64 value in the term.",89,{"inputs":[{"name":"self"},{"name":"u64"}],"output":null}],[11,"set_i64","","Sets a `i64` value in the term.",89,{"inputs":[{"name":"self"},{"name":"i64"}],"output":null}],[11,"set_text","","Set the texts only, keeping the field untouched.",89,{"inputs":[{"name":"self"},{"name":"str"}],"output":null}],[11,"wrap","","Wraps a source of data",89,{"inputs":[{"name":"b"}],"output":{"name":"term"}}],[11,"field","","Returns the field.",89,{"inputs":[{"name":"self"}],"output":{"name":"field"}}],[11,"get_u64","","Returns the `u64` value stored in a term.",89,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[11,"get_i64","","Returns the `i64` value stored in a term.",89,{"inputs":[{"name":"self"}],"output":{"name":"i64"}}],[11,"text","","Returns the text associated with the term.",89,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"value_bytes","","Returns the serialized value of the term. (this does not include the field.)",89,null],[11,"as_slice","","Returns the underlying `&[u8]`",89,null],[11,"as_ref","","",89,null],[11,"fmt","","",89,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",90,{"inputs":[{"name":"self"}],"output":{"name":"document"}}],[11,"fmt","","",90,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"default","","",90,{"inputs":[],"output":{"name":"document"}}],[11,"from","","",90,{"inputs":[{"generics":["fieldvalue"],"name":"vec"}],"output":{"name":"self"}}],[11,"eq","","",90,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"bool"}}],[11,"new","","Creates a new, empty document object",90,{"inputs":[],"output":{"name":"document"}}],[11,"len","","Returns the number of `(field, value)` pairs.",90,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"is_empty","","Returns true iff the document contains no fields.",90,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"filter_fields","","Retain only the field that are matching the predicate given in argument.",90,{"inputs":[{"name":"self"},{"name":"p"}],"output":null}],[11,"add_facet","","Adding a facet to the document.",90,{"inputs":[{"name":"self"},{"name":"field"},{"name":"f"}],"output":null}],[11,"add_text","","Add a text field.",90,{"inputs":[{"name":"self"},{"name":"field"},{"name":"str"}],"output":null}],[11,"add_u64","","Add a u64 field",90,{"inputs":[{"name":"self"},{"name":"field"},{"name":"u64"}],"output":null}],[11,"add_i64","","Add a u64 field",90,{"inputs":[{"name":"self"},{"name":"field"},{"name":"i64"}],"output":null}],[11,"add","","Add a field value",90,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":null}],[11,"field_values","","field_values accessor",90,null],[11,"get_sorted_field_values","","Sort and groups the field_values by field.",90,{"inputs":[{"name":"self"}],"output":{"name":"vec"}}],[11,"get_all","","Returns all of the `FieldValue`s associated the given field",90,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["value"],"name":"vec"}}],[11,"get_first","","Returns the first `FieldValue` associated the given field",90,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["value"],"name":"option"}}],[11,"clone","tantivy::schema","",91,{"inputs":[{"name":"self"}],"output":{"name":"facet"}}],[11,"hash","","",91,null],[11,"eq","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"ne","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"cmp","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"ordering"}}],[11,"partial_cmp","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"le","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"gt","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"ge","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"root","","Returns a new instance of the \"root facet\" Equivalent to `/`.",91,{"inputs":[],"output":{"name":"facet"}}],[11,"is_root","","Returns true iff the facet is the root facet `/`.",91,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"encoded_bytes","","Returns a binary representation of the facet.",91,null],[11,"from_text","","Parse a text representation of a facet.",91,{"inputs":[{"name":"t"}],"output":{"name":"facet"}}],[11,"from_path","","Returns a `Facet` from an iterator over the different steps of the facet path.",91,{"inputs":[{"name":"path"}],"output":{"name":"facet"}}],[11,"is_prefix_of","","Returns `true` iff other is a subfacet of `self`.",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"borrow","","",91,null],[11,"from","","",91,{"inputs":[{"name":"t"}],"output":{"name":"facet"}}],[11,"fmt","","",91,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"serialize","","",91,{"inputs":[{"name":"self"},{"name":"s"}],"output":{"name":"result"}}],[11,"deserialize","","",91,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"fmt","","",91,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",84,{"inputs":[{"name":"self"}],"output":{"name":"fieldtype"}}],[11,"fmt","","",84,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",84,{"inputs":[{"name":"self"},{"name":"fieldtype"}],"output":{"name":"bool"}}],[11,"ne","","",84,{"inputs":[{"name":"self"},{"name":"fieldtype"}],"output":{"name":"bool"}}],[11,"is_indexed","","returns true iff the field is indexed.",84,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"get_index_record_option","","Given a field configuration, return the maximal possible `IndexRecordOption` available.",84,{"inputs":[{"name":"self"}],"output":{"generics":["indexrecordoption"],"name":"option"}}],[11,"value_from_json","","Parses a field value from json, given the target FieldType.",84,{"inputs":[{"name":"self"},{"name":"jsonvalue"}],"output":{"generics":["value","valueparsingerror"],"name":"result"}}],[11,"clone","","",92,{"inputs":[{"name":"self"}],"output":{"name":"fieldentry"}}],[11,"fmt","","",92,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new_text","","Creates a new u64 field entry in the schema, given a name, and some options.",92,{"inputs":[{"name":"string"},{"name":"textoptions"}],"output":{"name":"fieldentry"}}],[11,"new_u64","","Creates a new u64 field entry in the schema, given a name, and some options.",92,{"inputs":[{"name":"string"},{"name":"intoptions"}],"output":{"name":"fieldentry"}}],[11,"new_i64","","Creates a new i64 field entry in the schema, given a name, and some options.",92,{"inputs":[{"name":"string"},{"name":"intoptions"}],"output":{"name":"fieldentry"}}],[11,"new_facet","","Creates a field entry for a facet.",92,{"inputs":[{"name":"string"}],"output":{"name":"fieldentry"}}],[11,"name","","Returns the name of the field",92,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"field_type","","Returns the field type",92,{"inputs":[{"name":"self"}],"output":{"name":"fieldtype"}}],[11,"is_indexed","","Returns true iff the field is indexed",92,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_int_fast","","Returns true iff the field is a int (signed or unsigned) fast field",92,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_stored","","Returns true iff the field is stored",92,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"serialize","","",92,{"inputs":[{"name":"self"},{"name":"s"}],"output":{"name":"result"}}],[11,"deserialize","","",92,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"fmt","","",93,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",93,{"inputs":[{"name":"self"}],"output":{"name":"fieldvalue"}}],[11,"cmp","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"ordering"}}],[11,"eq","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"ne","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"le","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"gt","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"ge","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"new","","Constructor",93,{"inputs":[{"name":"field"},{"name":"value"}],"output":{"name":"fieldvalue"}}],[11,"field","","Field accessor",93,{"inputs":[{"name":"self"}],"output":{"name":"field"}}],[11,"value","","Value accessor",93,{"inputs":[{"name":"self"}],"output":{"name":"value"}}],[11,"clone","","",94,{"inputs":[{"name":"self"}],"output":{"name":"textoptions"}}],[11,"fmt","","",94,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",94,{"inputs":[{"name":"self"},{"name":"textoptions"}],"output":{"name":"bool"}}],[11,"ne","","",94,{"inputs":[{"name":"self"},{"name":"textoptions"}],"output":{"name":"bool"}}],[11,"get_indexing_options","","Returns the indexing options.",94,{"inputs":[{"name":"self"}],"output":{"generics":["textfieldindexing"],"name":"option"}}],[11,"is_stored","","Returns true iff the text is to be stored.",94,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"set_stored","","Sets the field as stored",94,{"inputs":[{"name":"self"}],"output":{"name":"textoptions"}}],[11,"set_indexing_options","","Sets the field as indexed, with the specific indexing options.",94,{"inputs":[{"name":"self"},{"name":"textfieldindexing"}],"output":{"name":"textoptions"}}],[11,"default","","",94,{"inputs":[],"output":{"name":"textoptions"}}],[11,"clone","","",95,{"inputs":[{"name":"self"}],"output":{"name":"textfieldindexing"}}],[11,"eq","","",95,{"inputs":[{"name":"self"},{"name":"textfieldindexing"}],"output":{"name":"bool"}}],[11,"ne","","",95,{"inputs":[{"name":"self"},{"name":"textfieldindexing"}],"output":{"name":"bool"}}],[11,"fmt","","",95,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"default","","",95,{"inputs":[],"output":{"name":"textfieldindexing"}}],[11,"set_tokenizer","","Sets the tokenizer to be used for a given field.",95,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"textfieldindexing"}}],[11,"tokenizer","","Returns the tokenizer that will be used for this field.",95,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"set_index_option","","Sets which information should be indexed with the tokens.",95,{"inputs":[{"name":"self"},{"name":"indexrecordoption"}],"output":{"name":"textfieldindexing"}}],[11,"index_option","","Returns the indexing options associated to this field.",95,{"inputs":[{"name":"self"}],"output":{"name":"indexrecordoption"}}],[11,"bitor","","",94,{"inputs":[{"name":"self"},{"name":"textoptions"}],"output":{"name":"textoptions"}}],[11,"clone","","",86,{"inputs":[{"name":"self"}],"output":{"name":"cardinality"}}],[11,"eq","","",86,{"inputs":[{"name":"self"},{"name":"cardinality"}],"output":{"name":"bool"}}],[11,"fmt","","",86,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",96,{"inputs":[{"name":"self"}],"output":{"name":"intoptions"}}],[11,"fmt","","",96,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",96,{"inputs":[{"name":"self"},{"name":"intoptions"}],"output":{"name":"bool"}}],[11,"ne","","",96,{"inputs":[{"name":"self"},{"name":"intoptions"}],"output":{"name":"bool"}}],[11,"is_stored","","Returns true iff the value is stored.",96,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_indexed","","Returns true iff the value is indexed.",96,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_fast","","Returns true iff the value is a fast field.",96,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"set_stored","","Set the u64 options as stored.",96,{"inputs":[{"name":"self"}],"output":{"name":"intoptions"}}],[11,"set_indexed","","Set the u64 options as indexed.",96,{"inputs":[{"name":"self"}],"output":{"name":"intoptions"}}],[11,"set_fast","","Set the u64 options as a single-valued fast field.",96,{"inputs":[{"name":"self"},{"name":"cardinality"}],"output":{"name":"intoptions"}}],[11,"get_fastfield_cardinality","","Returns the cardinality of the fastfield.",96,{"inputs":[{"name":"self"}],"output":{"generics":["cardinality"],"name":"option"}}],[11,"default","","",96,{"inputs":[],"output":{"name":"intoptions"}}],[11,"bitor","","",96,{"inputs":[{"name":"self"},{"name":"intoptions"}],"output":{"name":"intoptions"}}],[11,"clone","","",81,{"inputs":[{"name":"self"}],"output":{"name":"field"}}],[11,"fmt","","",81,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"ne","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"le","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"gt","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"ge","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"cmp","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"ordering"}}],[11,"hash","","",81,null],[11,"fmt","","",82,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",82,{"inputs":[{"name":"self"}],"output":{"name":"value"}}],[11,"eq","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"ne","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"cmp","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"ordering"}}],[11,"partial_cmp","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"le","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"gt","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"ge","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"serialize","","",82,{"inputs":[{"name":"self"},{"name":"s"}],"output":{"name":"result"}}],[11,"deserialize","","",82,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"text","","Returns the text value, provided the value is of the `Str` type.",82,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"u64_value","","Returns the u64-value, provided the value is of the `U64` type.",82,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[11,"i64_value","","Returns the i64-value, provided the value is of the `I64` type.",82,{"inputs":[{"name":"self"}],"output":{"name":"i64"}}],[11,"from","","",82,{"inputs":[{"name":"string"}],"output":{"name":"value"}}],[11,"from","","",82,{"inputs":[{"name":"u64"}],"output":{"name":"value"}}],[11,"from","","",82,{"inputs":[{"name":"i64"}],"output":{"name":"value"}}],[11,"from","","",82,{"inputs":[{"name":"str"}],"output":{"name":"value"}}],[11,"from","","",82,{"inputs":[{"name":"facet"}],"output":{"name":"value"}}],[11,"clone","","",85,{"inputs":[{"name":"self"}],"output":{"name":"indexrecordoption"}}],[11,"fmt","","",85,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",85,{"inputs":[{"name":"self"},{"name":"indexrecordoption"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",85,{"inputs":[{"name":"self"},{"name":"indexrecordoption"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"cmp","","",85,{"inputs":[{"name":"self"},{"name":"indexrecordoption"}],"output":{"name":"ordering"}}],[11,"hash","","",85,null],[11,"is_termfreq_enabled","","Returns true iff the term frequency will be encoded.",85,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_position_enabled","","Returns true iff the term positions within the document are stored as well.",85,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"has_freq","","Returns true iff this option includes encoding term frequencies.",85,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"has_positions","","Returns true iff this option include encoding term positions.",85,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[17,"FACET_SEP_BYTE","","BYTE used as a level separation in the binary representation of facets.",null,null],[17,"TEXT","","The field will be tokenized and indexed",null,null],[17,"STRING","","The field will be untokenized and indexed",null,null],[17,"STORED","","A stored fields of a document can be retrieved given its `DocId`. Stored field are stored together and LZ4 compressed. Reading the stored fields of a document is relatively slow. (100 microsecs)",null,null],[17,"FAST","","Shortcut for a u64 fast field.",null,null],[17,"INT_INDEXED","","Shortcut for a u64 indexed field.",null,null],[17,"INT_STORED","","Shortcut for a u64 stored field.",null,null],[0,"fastfield","tantivy","Column oriented field storage for tantivy.",null,null],[3,"DeleteBitSet","tantivy::fastfield","Set of deleted `DocId`s.",null,null],[3,"FastFieldsWriter","","The fastfieldswriter regroup all of the fast field writers.",null,null],[3,"IntFastFieldWriter","","Fast field writer for ints. The fast field writer just keeps the values in memory.",null,null],[3,"I64FastFieldReader","","`FastFieldReader` for signed 64-bits integers.",null,null],[3,"U64FastFieldReader","","`FastFieldReader` for unsigned 64-bits integers.",null,null],[3,"FastFieldSerializer","","`FastFieldSerializer` is in charge of serializing fastfields on disk.",null,null],[3,"FastFieldNotAvailableError","","`FastFieldNotAvailableError` is returned when the user requested for a fast field reader, and the field was not defined in the schema as a fast field.",null,null],[3,"FacetReader","","The facet reader makes it possible to access the list of facets associated to a given document in a specific segment.",null,null],[3,"MultiValueIntFastFieldReader","","Reader for a multivalued `u64` fast field.",null,null],[5,"write_delete_bitset","","Write a delete `BitSet`",null,{"inputs":[{"name":"bitset"},{"name":"writeptr"}],"output":{"name":"result"}}],[11,"clone","","",97,{"inputs":[{"name":"self"}],"output":{"name":"u64fastfieldreader"}}],[11,"min_value","","Returns the minimum value for this fast field.",97,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[11,"max_value","","Returns the maximum value for this fast field.",97,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[11,"get","","",97,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"u64"}}],[11,"is_enabled","","",97,{"inputs":[{"name":"fieldtype"}],"output":{"name":"bool"}}],[11,"get_range","","",97,null],[11,"open","","Opens a new fast field reader given a read only source.",97,{"inputs":[{"name":"readonlysource"}],"output":{"name":"u64fastfieldreader"}}],[11,"from","","",97,{"inputs":[{"generics":["u64"],"name":"vec"}],"output":{"name":"u64fastfieldreader"}}],[11,"min_value","","Returns the minimum value for this fast field.",98,{"inputs":[{"name":"self"}],"output":{"name":"i64"}}],[11,"max_value","","Returns the maximum value for this fast field.",98,{"inputs":[{"name":"self"}],"output":{"name":"i64"}}],[11,"get","","Panics",98,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"i64"}}],[11,"get_range","","Panics",98,null],[11,"open","","Opens a new fast field reader given a read only source.",98,{"inputs":[{"name":"readonlysource"}],"output":{"name":"i64fastfieldreader"}}],[11,"is_enabled","","",98,{"inputs":[{"name":"fieldtype"}],"output":{"name":"bool"}}],[11,"from_schema","","Create all `FastFieldWriter` required by the schema.",99,{"inputs":[{"name":"schema"}],"output":{"name":"fastfieldswriter"}}],[11,"get_field_writer","","Get the `FastFieldWriter` associated to a field.",99,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["intfastfieldwriter"],"name":"option"}}],[11,"add_document","","Indexes all of the fastfields of a new document.",99,{"inputs":[{"name":"self"},{"name":"document"}],"output":null}],[11,"serialize","","Serializes all of the `FastFieldWriter`s by pushing them in order to the fast field serializer.",99,{"inputs":[{"name":"self"},{"name":"fastfieldserializer"},{"name":"hashmap"}],"output":{"name":"result"}}],[11,"fill_val_up_to","","Ensures all of the fast field writers have reached `doc`. (included)",99,{"inputs":[{"name":"self"},{"name":"docid"}],"output":null}],[11,"new","","Creates a new `IntFastFieldWriter`",100,{"inputs":[{"name":"field"}],"output":{"name":"intfastfieldwriter"}}],[11,"field","","Returns the field that this writer is targetting.",100,{"inputs":[{"name":"self"}],"output":{"name":"field"}}],[11,"add_val","","Records a new value.",100,{"inputs":[{"name":"self"},{"name":"u64"}],"output":null}],[11,"add_document","","Extract the fast field value from the document (or use the default value) and records it.",100,{"inputs":[{"name":"self"},{"name":"document"}],"output":null}],[11,"serialize","","Push the fast fields value to the `FastFieldWriter`.",100,{"inputs":[{"name":"self"},{"name":"fastfieldserializer"}],"output":{"name":"result"}}],[11,"from_write","","Constructor",101,{"inputs":[{"name":"writeptr"}],"output":{"generics":["fastfieldserializer"],"name":"result"}}],[11,"new_u64_fast_field","","Start serializing a new u64 fast field",101,{"inputs":[{"name":"self"},{"name":"field"},{"name":"u64"},{"name":"u64"}],"output":{"generics":["fastsinglefieldserializer"],"name":"result"}}],[11,"new_u64_fast_field_with_idx","","Start serializing a new u64 fast field",101,{"inputs":[{"name":"self"},{"name":"field"},{"name":"u64"},{"name":"u64"},{"name":"usize"}],"output":{"generics":["fastsinglefieldserializer"],"name":"result"}}],[11,"close","","Closes the serializer",101,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"fmt","","",102,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new","","Creates a `FastFieldNotAvailable` error. `field_entry` is the configuration of the field for which fast fields are not available.",102,{"inputs":[{"name":"fieldentry"}],"output":{"name":"fastfieldnotavailableerror"}}],[11,"clone","","",103,{"inputs":[{"name":"self"}],"output":{"name":"deletebitset"}}],[11,"open","","Opens a delete bitset given its data source.",103,{"inputs":[{"name":"readonlysource"}],"output":{"name":"deletebitset"}}],[11,"empty","","Returns an empty delete bit set.",103,{"inputs":[],"output":{"name":"deletebitset"}}],[11,"has_deletes","","Returns true iff the segment has some deleted documents.",103,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_deleted","","Returns true iff the document is deleted.",103,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"bool"}}],[11,"len","","",103,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"new","","Creates a new `FacetReader`.",104,{"inputs":[{"name":"multivalueintfastfieldreader"},{"name":"termdictionaryimpl"}],"output":{"name":"facetreader"}}],[11,"num_facets","","Returns the size of the sets of facets in the segment. This does not take in account the documents that may be marked as deleted.",104,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"facet_dict","","Accessor for the facet term dictionary.",104,{"inputs":[{"name":"self"}],"output":{"name":"termdictionaryimpl"}}],[11,"facet_from_ord","","Given a term ordinal returns the term associated to it.",104,{"inputs":[{"name":"self"},{"name":"termordinal"},{"name":"facet"}],"output":null}],[11,"facet_ords","","Return the list of facet ordinals associated to a document.",104,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"vec"}],"output":null}],[11,"clone","","",105,{"inputs":[{"name":"self"}],"output":{"name":"multivalueintfastfieldreader"}}],[11,"get_vals","","Returns the array of values associated to the given `doc`.",105,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"vec"}],"output":null}],[6,"Result","","Result when trying to access a fast field reader.",null,null],[8,"FastFieldReader","","Trait for accessing a fastfield.",null,null],[16,"ValueType","","Type of the value stored in the fastfield.",106,null],[10,"get","","Return the value associated to the given document.",106,null],[10,"get_range","","Fills an output buffer with the fast field values associated with the `DocId` going from `start` to `start + output.len()`.",106,null],[10,"open","","Opens a fast field given a source.",106,{"inputs":[{"name":"readonlysource"}],"output":{"name":"self"}}],[10,"is_enabled","","Returns true iff the given field_type makes it possible to access the field values via a fastfield.",106,{"inputs":[{"name":"fieldtype"}],"output":{"name":"bool"}}],[11,"eq","tantivy","",3,{"inputs":[{"name":"self"},{"name":"skipresult"}],"output":{"name":"bool"}}],[11,"fmt","","",3,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[0,"merge_policy","","Defines tantivy's merging strategy",null,null],[3,"LogMergePolicy","tantivy::merge_policy","`LogMergePolicy` tries tries to merge segments that have a similar number of documents.",null,null],[3,"NoMergePolicy","","Never merge segments.",null,null],[6,"DefaultMergePolicy","","Alias for the default merge policy, which is the `LogMergePolicy`.",null,null],[8,"MergePolicy","","The `MergePolicy` defines which segments should be merged.",null,null],[10,"compute_merge_candidates","","Given the list of segment metas, returns the list of merge candidates.",107,null],[10,"box_clone","","Returns a boxed clone of the MergePolicy.",107,{"inputs":[{"name":"self"}],"output":{"generics":["mergepolicy"],"name":"box"}}],[6,"Result","tantivy","Tantivy result.",null,null],[6,"DocId","","A `u32` identifying a document within a segment. Documents have their `DocId` assigned incrementally, as they are added in the segment.",null,null],[6,"Score","","A f32 that represents the relevance of the document to the query",null,null],[6,"SegmentLocalId","","A `SegmentLocalId` identifies a segment. It only makes sense for a given searcher.",null,null],[8,"ResultExt","","Additional methods for `Result`, for easy interaction with this crate.",null,null],[10,"chain_err","","If the `Result` is an `Err` then `chain_err` evaluates the closure, which returns some type that can be converted to `ErrorKind`, boxes the original error to store as the cause, then returns a new error containing the original error.",108,{"inputs":[{"name":"self"},{"name":"f"}],"output":{"generics":["error"],"name":"result"}}],[8,"DocSet","","Represents an iterable set of sorted doc ids.",null,null],[10,"advance","","Goes to the next element. `.advance(...)` needs to be called a first time to point to the correct element.",109,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","After skipping, position the iterator in such a way that `.doc()` will return a value greater than or equal to target.",109,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"fill_buffer","","Fills a given mutable buffer with the next doc ids from the `DocSet`",109,null],[10,"doc","","Returns the current document",109,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[10,"size_hint","","Returns a best-effort hint of the length of the docset.",109,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"append_to_bitset","","Appends all docs to a `bitset`.",109,{"inputs":[{"name":"self"},{"name":"bitset"}],"output":null}],[11,"count","","Returns the number documents matching.",109,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[8,"Directory","","Write-once read many (WORM) abstraction for where tantivy's data should be stored.",null,null],[10,"open_read","","Opens a virtual file for read.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[10,"delete","","Removes a file",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["deleteerror"],"name":"result"}}],[10,"exists","","Returns true iff the file exists",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[10,"open_write","","Opens a writer for the virtual file associated with a Path.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[10,"atomic_read","","Reads the full content file that has been written using atomic_write.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["vec","openreaderror"],"name":"result"}}],[10,"atomic_write","","Atomically replace the content of a file with data.",67,null],[10,"box_clone","","Clones the directory and boxes the clone",67,{"inputs":[{"name":"self"}],"output":{"generics":["directory"],"name":"box"}}],[8,"Postings","","Postings (also called inverted list)",null,null],[10,"term_freq","","Returns the term frequency",78,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[10,"positions","","Returns the list of positions of the term, expressed as a list of token ordinals.",78,null],[11,"segment_ord","","Return the segment ordinal. The segment ordinal is an id identifying the segment hosting the document. It is only meaningful, in the context of a searcher.",1,{"inputs":[{"name":"self"}],"output":{"name":"segmentlocalid"}}],[11,"doc","","Return the segment local `DocId`",1,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"fmt","","",1,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",1,{"inputs":[{"name":"self"}],"output":{"name":"docaddress"}}],[11,"eq","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"ne","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"le","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"gt","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"ge","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"cmp","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"ordering"}}],[14,"doc","","`doc!` is a shortcut that helps building `Document` objects.",null,null],[11,"fmt","tantivy::merge_policy","",110,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"default","","",110,{"inputs":[],"output":{"name":"nomergepolicy"}}],[11,"compute_merge_candidates","","",110,null],[11,"box_clone","","",110,{"inputs":[{"name":"self"}],"output":{"generics":["mergepolicy"],"name":"box"}}],[11,"fmt","","",111,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",111,{"inputs":[{"name":"self"}],"output":{"name":"logmergepolicy"}}],[11,"set_min_merge_size","","Set the minimum number of segment that may be merge together.",111,{"inputs":[{"name":"self"},{"name":"usize"}],"output":null}],[11,"set_min_layer_size","","Set the minimum segment size under which all segment belong to the same level.",111,{"inputs":[{"name":"self"},{"name":"u32"}],"output":null}],[11,"set_level_log_size","","Set the ratio between two consecutive levels.",111,{"inputs":[{"name":"self"},{"name":"f64"}],"output":null}],[11,"compute_merge_candidates","","",111,null],[11,"box_clone","","",111,{"inputs":[{"name":"self"}],"output":{"generics":["mergepolicy"],"name":"box"}}],[11,"default","","",111,{"inputs":[],"output":{"name":"logmergepolicy"}}],[11,"is_empty","tantivy::postings","Returns true iff empty.",79,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"filter","tantivy::tokenizer","Appends a token filter to the current tokenizer.",26,{"inputs":[{"name":"self"},{"name":"newfilter"}],"output":{"name":"chaintokenizer"}}],[11,"next","","Helper to iterate over tokens. It simply combines a call to `.advance()` and `.token()`.",25,{"inputs":[{"name":"self"}],"output":{"generics":["token"],"name":"option"}}],[11,"process","","Helper function to consume the entire `TokenStream` and push the tokens to a sink function.",25,{"inputs":[{"name":"self"},{"name":"fnmut"}],"output":{"name":"u32"}}],[11,"count","tantivy::query","Returns the number of documents matching the query.",56,{"inputs":[{"name":"self"},{"name":"searcher"}],"output":{"generics":["usize"],"name":"result"}}],[11,"search","","Search works as follows :",56,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"collector"}],"output":{"generics":["timertree"],"name":"result"}}],[11,"is","","",57,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"downcast_ref_unchecked","","",57,{"inputs":[{"name":"self"}],"output":{"name":"_t"}}],[11,"downcast_ref","","",57,{"inputs":[{"name":"self"}],"output":{"generics":["typemismatch"],"name":"result"}}],[11,"downcast_mut_unchecked","","",57,{"inputs":[{"name":"self"}],"output":{"name":"_t"}}],[11,"downcast_mut","","",57,{"inputs":[{"name":"self"}],"output":{"generics":["typemismatch"],"name":"result"}}],[11,"downcast_unchecked","","",57,{"inputs":[{"name":"box"}],"output":{"name":"box"}}],[11,"downcast","","",57,{"inputs":[{"name":"box"}],"output":{"generics":["box","downcasterror"],"name":"result"}}],[11,"collect","","Consumes the complete `DocSet` and push the scored documents to the collector.",57,{"inputs":[{"name":"self"},{"name":"collector"}],"output":null}],[11,"count","","Returns the number documents within the given `SegmentReader`.",58,{"inputs":[{"name":"self"},{"name":"segmentreader"}],"output":{"generics":["u32"],"name":"result"}}],[11,"skip_next","tantivy","After skipping, position the iterator in such a way that `.doc()` will return a value greater than or equal to target.",109,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"fill_buffer","","Fills a given mutable buffer with the next doc ids from the `DocSet`",109,null],[11,"append_to_bitset","","Appends all docs to a `bitset`.",109,{"inputs":[{"name":"self"},{"name":"bitset"}],"output":null}],[11,"count","","Returns the number documents matching.",109,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}]],"paths":[[3,"Error"],[3,"DocAddress"],[4,"ErrorKind"],[4,"SkipResult"],[4,"SegmentComponent"],[3,"Searcher"],[3,"Index"],[3,"SegmentReader"],[3,"SegmentId"],[3,"Segment"],[3,"SegmentMeta"],[3,"InvertedIndexReader"],[3,"IndexWriter"],[3,"TimerTree"],[3,"Token"],[3,"SimpleTokenizer"],[3,"LowerCaser"],[3,"RemoveLongFilter"],[3,"Stemmer"],[3,"FacetTokenizer"],[3,"TokenizerManager"],[3,"JapaneseTokenizer"],[3,"RawTokenizer"],[3,"AlphaNumOnlyFilter"],[8,"TokenFilter"],[8,"TokenStream"],[8,"Tokenizer"],[8,"BoxedTokenizer"],[3,"TermDictionaryBuilderImpl"],[3,"TermDictionaryImpl"],[3,"TermStreamerBuilderImpl"],[3,"TermStreamerImpl"],[3,"TermMerger"],[8,"TermDictionary"],[8,"TermDictionaryBuilder"],[8,"TermStreamer"],[8,"TermStreamerBuilder"],[3,"StoreReader"],[3,"StoreWriter"],[4,"Occur"],[4,"QueryParserError"],[3,"BooleanQuery"],[3,"EmptyScorer"],[3,"ConstScorer"],[3,"TermQuery"],[3,"QueryParser"],[3,"PhraseQuery"],[3,"AllQuery"],[3,"AllWeight"],[3,"AllScorer"],[3,"BitSetDocSet"],[3,"RangeQuery"],[3,"Exclude"],[3,"Union"],[3,"Intersection"],[3,"RequiredOptionalScorer"],[8,"Query"],[8,"Scorer"],[8,"Weight"],[4,"ReadOnlySource"],[3,"MmapDirectory"],[3,"RAMDirectory"],[4,"OpenDirectoryError"],[4,"OpenWriteError"],[4,"OpenReadError"],[4,"DeleteError"],[3,"IOError"],[8,"Directory"],[3,"CountCollector"],[3,"MultiCollector"],[3,"TopCollector"],[3,"FacetCollector"],[8,"Collector"],[3,"TermInfo"],[3,"InvertedIndexSerializer"],[3,"FieldSerializer"],[3,"SegmentPostings"],[3,"BlockSegmentPostings"],[8,"Postings"],[8,"HasLen"],[3,"NamedFieldDocument"],[3,"Field"],[4,"Value"],[4,"DocParsingError"],[4,"FieldType"],[4,"IndexRecordOption"],[4,"Cardinality"],[3,"SchemaBuilder"],[3,"Schema"],[3,"Term"],[3,"Document"],[3,"Facet"],[3,"FieldEntry"],[3,"FieldValue"],[3,"TextOptions"],[3,"TextFieldIndexing"],[3,"IntOptions"],[3,"U64FastFieldReader"],[3,"I64FastFieldReader"],[3,"FastFieldsWriter"],[3,"IntFastFieldWriter"],[3,"FastFieldSerializer"],[3,"FastFieldNotAvailableError"],[3,"DeleteBitSet"],[3,"FacetReader"],[3,"MultiValueIntFastFieldReader"],[8,"FastFieldReader"],[8,"MergePolicy"],[8,"ResultExt"],[8,"DocSet"],[3,"NoMergePolicy"],[3,"LogMergePolicy"]]}; +searchIndex["tantivy"] = {"doc":"`tantivy`","items":[[3,"Error","tantivy","The Error type.",null,null],[12,"0","","The kind of the error.",0,null],[3,"Index","","Search Index",null,null],[3,"Searcher","","Holds a list of `SegmentReader`s ready for search.",null,null],[3,"Segment","","A segment is a piece of the index.",null,null],[3,"SegmentId","","Uuid identifying a segment.",null,null],[3,"SegmentMeta","","`SegmentMeta` contains simple meta information about a segment.",null,null],[3,"IndexWriter","","`IndexWriter` is the user entry-point to add document to an index.",null,null],[3,"Document","","Tantivy's Document is the object that can be indexed and then searched for.",null,null],[3,"Term","","Term represents the value that the token can take.",null,null],[3,"InvertedIndexReader","","The inverted index reader is in charge of accessing the inverted index associated to a specific field.",null,null],[3,"SegmentReader","","Entry point to access all of the datastructures of the `Segment`",null,null],[3,"TimerTree","","Timer tree",null,null],[3,"DocAddress","","`DocAddress` contains all the necessary information to identify a document given a `Searcher` object.",null,null],[12,"0","","",1,null],[12,"1","","",1,null],[4,"ErrorKind","","The kind of an error.",null,null],[13,"Msg","","A convenient variant for String.",2,null],[13,"PathDoesNotExist","","Path does not exist.",2,null],[13,"FileAlreadyExists","","File already exists, this is a problem when we try to write into a new file.",2,null],[13,"IOError","","IO Error.",2,null],[13,"CorruptedFile","","The data within is corrupted.",2,null],[13,"Poisoned","","A thread holding the locked panicked and poisoned the lock.",2,null],[13,"InvalidArgument","","Invalid argument was passed by the user.",2,null],[13,"ErrorInThread","","An Error happened in one of the thread.",2,null],[13,"SchemaError","","An Error appeared related to the lack of a field.",2,null],[13,"FastFieldError","","Tried to access a fastfield reader for a field not configured accordingly.",2,null],[4,"SkipResult","","Expresses the outcome of a call to `DocSet`'s `.skip_next(...)`.",null,null],[13,"Reached","","target was in the docset",3,null],[13,"OverStep","","target was not in the docset, skipping stopped as a greater element was found",3,null],[13,"End","","the docset was entirely consumed without finding the target, nor any element greater than the target.",3,null],[4,"SegmentComponent","","Enum describing each component of a tantivy segment. Each component is stored in its own file, using the pattern `segment_uuid`.`component_extension`, except the delete component that takes an `segment_uuid`.`delete_opstamp`.`component_extension`",null,null],[13,"POSTINGS","","Postings (or inverted list). Sorted lists of document ids, associated to terms",4,null],[13,"POSITIONS","","Positions of terms in each document.",4,null],[13,"FASTFIELDS","","Column-oriented random-access storage of fields.",4,null],[13,"FIELDNORMS","","Stores the sum of the length (in terms) of each field for each document. Field norms are stored as a special u64 fast field.",4,null],[13,"TERMS","","Dictionary associating `Term`s to `TermInfo`s which is simply an address into the `postings` file and the `positions` file.",4,null],[13,"STORE","","Row-oriented, LZ4-compressed storage of the documents. Accessing a document from the store is relatively slow, as it requires to decompress the entire block it belongs to.",4,null],[13,"DELETE","","Bitset describing which document of the segment is deleted.",4,null],[5,"i64_to_u64","","Maps a `i64` to `u64`",null,{"inputs":[{"name":"i64"}],"output":{"name":"u64"}}],[5,"u64_to_i64","","Reverse the mapping given by `i64_to_u64`.",null,{"inputs":[{"name":"u64"}],"output":{"name":"i64"}}],[5,"version","","Expose the current version of tantivy, as well whether it was compiled with the simd compression.",null,{"inputs":[],"output":{"name":"str"}}],[11,"doc","","Fetches a document from tantivy's store given a `DocAddress`.",5,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"generics":["document"],"name":"result"}}],[11,"num_docs","","Returns the overall number of documents in the index.",5,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"doc_freq","","Return the overall number of documents containing the given term.",5,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"u32"}}],[11,"segment_readers","","Return the list of segment readers",5,null],[11,"segment_reader","","Returns the segment_reader associated with the given segment_ordinal",5,{"inputs":[{"name":"self"},{"name":"u32"}],"output":{"name":"segmentreader"}}],[11,"search","","Runs a query on the segment readers wrapped by the searcher",5,{"inputs":[{"name":"self"},{"name":"query"},{"name":"c"}],"output":{"generics":["timertree"],"name":"result"}}],[11,"field","","Return the field searcher associated to a `Field`.",5,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"fieldsearcher"}}],[11,"from","","",5,{"inputs":[{"generics":["segmentreader"],"name":"vec"}],"output":{"name":"searcher"}}],[11,"fmt","","",5,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"create_in_ram","","Creates a new index using the `RAMDirectory`.",6,{"inputs":[{"name":"schema"}],"output":{"name":"index"}}],[11,"create","","Creates a new index in a given filepath. The index will use the `MMapDirectory`.",6,{"inputs":[{"name":"p"},{"name":"schema"}],"output":{"generics":["index"],"name":"result"}}],[11,"tokenizers","","Accessor for the tokenizer manager.",6,{"inputs":[{"name":"self"}],"output":{"name":"tokenizermanager"}}],[11,"create_from_tempdir","","Creates a new index in a temp directory.",6,{"inputs":[{"name":"schema"}],"output":{"generics":["index"],"name":"result"}}],[11,"from_directory","","Create a new index from a directory.",6,{"inputs":[{"name":"manageddirectory"},{"name":"schema"}],"output":{"generics":["index"],"name":"result"}}],[11,"open","","Opens a new directory from an index path.",6,{"inputs":[{"name":"p"}],"output":{"generics":["index"],"name":"result"}}],[11,"load_metas","","Reads the index meta file from the directory.",6,{"inputs":[{"name":"self"}],"output":{"generics":["indexmeta"],"name":"result"}}],[11,"writer_with_num_threads","","Open a new index writer. Attempts to acquire a lockfile.",6,{"inputs":[{"name":"self"},{"name":"usize"},{"name":"usize"}],"output":{"generics":["indexwriter"],"name":"result"}}],[11,"writer","","Creates a multithreaded writer It just calls `writer_with_num_threads` with the number of cores as `num_threads`",6,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"generics":["indexwriter"],"name":"result"}}],[11,"schema","","Accessor to the index schema",6,{"inputs":[{"name":"self"}],"output":{"name":"schema"}}],[11,"searchable_segments","","Returns the list of segments that are searchable",6,{"inputs":[{"name":"self"}],"output":{"generics":["vec"],"name":"result"}}],[11,"new_segment","","Creates a new segment.",6,{"inputs":[{"name":"self"}],"output":{"name":"segment"}}],[11,"directory","","Return a reference to the index directory.",6,{"inputs":[{"name":"self"}],"output":{"name":"manageddirectory"}}],[11,"directory_mut","","Return a mutable reference to the index directory.",6,{"inputs":[{"name":"self"}],"output":{"name":"manageddirectory"}}],[11,"searchable_segment_metas","","Reads the meta.json and returns the list of `SegmentMeta` from the last commit.",6,{"inputs":[{"name":"self"}],"output":{"generics":["vec"],"name":"result"}}],[11,"searchable_segment_ids","","Returns the list of segment ids that are searchable.",6,{"inputs":[{"name":"self"}],"output":{"generics":["vec"],"name":"result"}}],[11,"load_searchers","","Creates a new generation of searchers after a change of the set of searchable indexes.",6,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"searcher","","Returns a searcher",6,{"inputs":[{"name":"self"}],"output":{"generics":["searcher"],"name":"leaseditem"}}],[11,"fmt","","",6,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",6,{"inputs":[{"name":"self"}],"output":{"name":"index"}}],[11,"clone","","",7,{"inputs":[{"name":"self"}],"output":{"name":"segmentreader"}}],[11,"max_doc","","Returns the highest document id ever attributed in this segment + 1. Today, `tantivy` does not handle deletes, so it happens to also be the number of documents in the index.",7,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"num_docs","","Returns the number of documents. Deleted documents are not counted.",7,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"num_deleted_docs","","Return the number of documents that have been deleted in the segment.",7,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"fast_field_reader","","Accessor to a segment's fast field reader given a field.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["fastfieldreader"],"name":"result"}}],[11,"multi_fast_field_reader","","Accessor to the `MultiValueIntFastFieldReader` associated to a given `Field`. May panick if the field is not a multivalued fastfield of the type `Item`.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["multivalueintfastfieldreader"],"name":"result"}}],[11,"facet_reader","","Accessor to the `FacetReader` associated to a given `Field`.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["facetreader"],"name":"result"}}],[11,"get_fieldnorms_reader","","Accessor to the segment's `Field norms`'s reader.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["fastfieldreader"],"name":"option"}}],[11,"get_store_reader","","Accessor to the segment's `StoreReader`.",7,{"inputs":[{"name":"self"}],"output":{"name":"storereader"}}],[11,"open","","Open a new segment for reading.",7,{"inputs":[{"name":"segment"}],"output":{"generics":["segmentreader"],"name":"result"}}],[11,"inverted_index","","Returns a field reader associated to the field given in argument.",7,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["invertedindexreader"],"name":"arc"}}],[11,"doc","","Returns the document (or to be accurate, its stored field) bearing the given doc id. This method is slow and should seldom be called from within a collector.",7,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"generics":["document"],"name":"result"}}],[11,"segment_id","","Returns the segment id",7,{"inputs":[{"name":"self"}],"output":{"name":"segmentid"}}],[11,"delete_bitset","","Returns the bitset representing the documents that have been deleted.",7,{"inputs":[{"name":"self"}],"output":{"name":"deletebitset"}}],[11,"is_deleted","","Returns true iff the `doc` is marked as deleted.",7,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"bool"}}],[11,"fmt","","",7,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",8,{"inputs":[{"name":"self"}],"output":{"name":"segmentid"}}],[11,"eq","","",8,{"inputs":[{"name":"self"},{"name":"segmentid"}],"output":{"name":"bool"}}],[11,"ne","","",8,{"inputs":[{"name":"self"},{"name":"segmentid"}],"output":{"name":"bool"}}],[11,"hash","","",8,null],[11,"short_uuid_string","","Returns a shorter identifier of the segment.",8,{"inputs":[{"name":"self"}],"output":{"name":"string"}}],[11,"uuid_string","","Returns a segment uuid string.",8,{"inputs":[{"name":"self"}],"output":{"name":"string"}}],[11,"fmt","","",8,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"partial_cmp","","",8,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"cmp","","",8,{"inputs":[{"name":"self"},{"name":"self"}],"output":{"name":"ordering"}}],[11,"clone","","",4,{"inputs":[{"name":"self"}],"output":{"name":"segmentcomponent"}}],[11,"iterator","","Iterates through the components.",4,null],[11,"clone","","",9,{"inputs":[{"name":"self"}],"output":{"name":"segment"}}],[11,"fmt","","",9,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"index","","Returns the index the segment belongs to.",9,{"inputs":[{"name":"self"}],"output":{"name":"index"}}],[11,"schema","","Returns our index's schema.",9,{"inputs":[{"name":"self"}],"output":{"name":"schema"}}],[11,"meta","","Returns the segment meta-information",9,{"inputs":[{"name":"self"}],"output":{"name":"segmentmeta"}}],[11,"id","","Returns the segment's id.",9,{"inputs":[{"name":"self"}],"output":{"name":"segmentid"}}],[11,"relative_path","","Returns the relative path of a component of our segment.",9,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"name":"pathbuf"}}],[11,"protect_from_delete","","Protects a specific component file from being deleted.",9,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"name":"fileprotection"}}],[11,"open_read","","Open one of the component file for a regular read.",9,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[11,"open_write","","Open one of the component file for regular write.",9,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[11,"clone","","",10,{"inputs":[{"name":"self"}],"output":{"name":"segmentmeta"}}],[11,"fmt","","",10,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new","","Creates a new segment meta for a segment with no deletes and no documents.",10,{"inputs":[{"name":"segmentid"}],"output":{"name":"segmentmeta"}}],[11,"id","","Returns the segment id.",10,{"inputs":[{"name":"self"}],"output":{"name":"segmentid"}}],[11,"num_deleted_docs","","Returns the number of deleted documents.",10,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"list_files","","Returns the list of files that are required for the segment meta.",10,{"inputs":[{"name":"self"}],"output":{"generics":["pathbuf"],"name":"hashset"}}],[11,"relative_path","","Returns the relative path of a component of our segment.",10,{"inputs":[{"name":"self"},{"name":"segmentcomponent"}],"output":{"name":"pathbuf"}}],[11,"max_doc","","Return the highest doc id + 1",10,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"num_docs","","Return the number of documents in the segment.",10,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"delete_opstamp","","Returns the opstamp of the last delete operation taken in account in this segment.",10,{"inputs":[{"name":"self"}],"output":{"generics":["u64"],"name":"option"}}],[11,"has_deletes","","Returns true iff the segment meta contains delete information.",10,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"get_term_info","","Returns the term info associated with the term.",11,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"generics":["terminfo"],"name":"option"}}],[11,"terms","","Return the term dictionary datastructure.",11,{"inputs":[{"name":"self"}],"output":{"name":"termdictionaryimpl"}}],[11,"reset_block_postings_from_terminfo","","Resets the block segment to another position of the postings file.",11,{"inputs":[{"name":"self"},{"name":"terminfo"},{"name":"blocksegmentpostings"}],"output":null}],[11,"read_block_postings_from_terminfo","","Returns a block postings given a `term_info`. This method is for an advanced usage only.",11,{"inputs":[{"name":"self"},{"name":"terminfo"},{"name":"indexrecordoption"}],"output":{"name":"blocksegmentpostings"}}],[11,"read_postings_from_terminfo","","Returns a posting object given a `term_info`. This method is for an advanced usage only.",11,{"inputs":[{"name":"self"},{"name":"terminfo"},{"name":"indexrecordoption"}],"output":{"name":"segmentpostings"}}],[11,"read_postings","","Returns the segment postings associated with the term, and with the given option, or `None` if the term has never been encountered and indexed.",11,{"inputs":[{"name":"self"},{"name":"term"},{"name":"indexrecordoption"}],"output":{"generics":["segmentpostings"],"name":"option"}}],[11,"doc_freq","","Returns the number of documents containing the term.",11,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"u32"}}],[11,"wait_merging_threads","","The index writer",12,{"inputs":[{"name":"self"}],"output":{"generics":["error"],"name":"result"}}],[11,"get_merge_policy","","Accessor to the merge policy.",12,{"inputs":[{"name":"self"}],"output":{"generics":["mergepolicy"],"name":"box"}}],[11,"set_merge_policy","","Set the merge policy.",12,{"inputs":[{"name":"self"},{"generics":["mergepolicy"],"name":"box"}],"output":null}],[11,"garbage_collect_files","","Detects and removes the files that are not used by the index anymore.",12,{"inputs":[{"name":"self"}],"output":{"generics":["error"],"name":"result"}}],[11,"merge","","Merges a given list of segments",12,null],[11,"rollback","","Rollback to the last commit",12,{"inputs":[{"name":"self"}],"output":{"generics":["error"],"name":"result"}}],[11,"prepare_commit","","Prepares a commit.",12,{"inputs":[{"name":"self"}],"output":{"generics":["preparedcommit","error"],"name":"result"}}],[11,"commit","","Commits all of the pending changes",12,{"inputs":[{"name":"self"}],"output":{"generics":["u64","error"],"name":"result"}}],[11,"delete_term","","Delete all documents containing a given term.",12,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"u64"}}],[11,"commit_opstamp","","Returns the opstamp of the last successful commit.",12,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[11,"add_document","","Adds a document.",12,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"u64"}}],[11,"fmt","","",13,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"total_time","","Returns the total time elapsed in microseconds",13,{"inputs":[{"name":"self"}],"output":{"name":"i64"}}],[11,"open","","Open a new named subtask",13,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"opentimer"}}],[11,"default","","",13,{"inputs":[],"output":{"name":"timertree"}}],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new","","",0,{"inputs":[{"name":"errorkind"},{"name":"state"}],"output":{"name":"error"}}],[11,"from_kind","","",0,null],[11,"kind","","",0,null],[11,"iter","","",0,{"inputs":[{"name":"self"}],"output":{"name":"errorchainiter"}}],[11,"backtrace","","",0,{"inputs":[{"name":"self"}],"output":{"generics":["backtrace"],"name":"option"}}],[11,"extract_backtrace","","",0,{"inputs":[{"name":"error"}],"output":{"generics":["arc"],"name":"option"}}],[11,"from_kind","","Constructs an error from a kind, and generates a backtrace.",0,{"inputs":[{"name":"errorkind"}],"output":{"name":"error"}}],[11,"kind","","Returns the kind of the error.",0,{"inputs":[{"name":"self"}],"output":{"name":"errorkind"}}],[11,"iter","","Iterates over the error chain.",0,{"inputs":[{"name":"self"}],"output":{"name":"errorchainiter"}}],[11,"backtrace","","Returns the backtrace associated with this error.",0,{"inputs":[{"name":"self"}],"output":{"generics":["backtrace"],"name":"option"}}],[11,"description","","",0,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",0,{"inputs":[{"name":"self"}],"output":{"generics":["error"],"name":"option"}}],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",0,{"inputs":[{"name":"errorkind"}],"output":{"name":"self"}}],[11,"from","","",0,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"from","","",0,{"inputs":[{"name":"string"}],"output":{"name":"self"}}],[11,"deref","","",0,null],[11,"fmt","","",2,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",2,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","A string describing the error kind.",2,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"from","","",2,{"inputs":[{"name":"str"}],"output":{"name":"self"}}],[11,"from","","",2,{"inputs":[{"name":"string"}],"output":{"name":"self"}}],[11,"from","","",2,{"inputs":[{"name":"error"}],"output":{"name":"self"}}],[11,"from","","",0,{"inputs":[{"name":"fastfieldnotavailableerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"ioerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"queryparsererror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"poisonerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"openreaderror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"docparsingerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"openwriteerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"opendirectoryerror"}],"output":{"name":"error"}}],[11,"from","","",0,{"inputs":[{"name":"error"}],"output":{"name":"error"}}],[0,"tokenizer","","Tokenizer are in charge of chopping text into a stream of tokens ready for indexing.",null,null],[3,"AlphaNumOnlyFilter","tantivy::tokenizer","`TokenFilter` that removes all tokens that contain non ascii alphanumeric characters.",null,null],[3,"Token","","Token",null,null],[12,"offset_from","","Offset (byte index) of the first character of the token. Offsets shall not be modified by token filters.",14,null],[12,"offset_to","","Offset (byte index) of the last character of the token + 1. The text that generated the token should be obtained by &text[token.offset_from..token.offset_to]",14,null],[12,"position","","Position, expressed in number of tokens.",14,null],[12,"text","","Actual text content of the token.",14,null],[3,"TokenizerManager","","The tokenizer manager serves as a store for all of the pre-configured tokenizer pipelines.",null,null],[3,"SimpleTokenizer","","Tokenize the text by splitting on whitespaces and punctuation.",null,null],[3,"RawTokenizer","","For each value of the field, emit a single unprocessed token.",null,null],[3,"JapaneseTokenizer","","Simple japanese tokenizer based on the `tinysegmenter` crate.",null,null],[3,"RemoveLongFilter","","`RemoveLongFilter` removes tokens that are longer than a given number of bytes (in UTF-8 representation).",null,null],[3,"LowerCaser","","Token filter that lowercase terms.",null,null],[3,"Stemmer","","`Stemmer` token filter. Currently only English is supported. Tokens are expected to be lowercased beforehands.",null,null],[3,"FacetTokenizer","","The `FacetTokenizer` process a `Facet` binary representation and emits a token for all of its parent.",null,null],[11,"default","","",14,{"inputs":[],"output":{"name":"token"}}],[11,"clone","","",15,{"inputs":[{"name":"self"}],"output":{"name":"simpletokenizer"}}],[11,"token_stream","","",15,null],[11,"clone","","",16,{"inputs":[{"name":"self"}],"output":{"name":"lowercaser"}}],[11,"transform","","",16,null],[11,"clone","","",17,{"inputs":[{"name":"self"}],"output":{"name":"removelongfilter"}}],[11,"limit","","Creates a `RemoveLongFilter` given a limit in bytes of the UTF-8 representation.",17,{"inputs":[{"name":"usize"}],"output":{"name":"removelongfilter"}}],[11,"transform","","",17,null],[11,"clone","","",18,{"inputs":[{"name":"self"}],"output":{"name":"stemmer"}}],[11,"new","","Creates a new Stemmer `TokenFilter`.",18,{"inputs":[],"output":{"name":"stemmer"}}],[11,"transform","","",18,null],[11,"clone","","",19,{"inputs":[{"name":"self"}],"output":{"name":"facettokenizer"}}],[11,"token_stream","","",19,null],[11,"clone","","",20,{"inputs":[{"name":"self"}],"output":{"name":"tokenizermanager"}}],[11,"register","","Registers a new tokenizer associated with a given name.",20,{"inputs":[{"name":"self"},{"name":"str"},{"name":"a"}],"output":null}],[11,"get","","Accessing a tokenizer given its name.",20,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["box"],"name":"option"}}],[11,"default","","Creates an `TokenizerManager` prepopulated with the default pre-configured tokenizers of `tantivy`. - simple - en_stem - ja",20,{"inputs":[],"output":{"name":"tokenizermanager"}}],[11,"clone","","",21,{"inputs":[{"name":"self"}],"output":{"name":"japanesetokenizer"}}],[11,"token_stream","","",21,null],[11,"clone","","",22,{"inputs":[{"name":"self"}],"output":{"name":"rawtokenizer"}}],[11,"token_stream","","",22,null],[11,"clone","","",23,{"inputs":[{"name":"self"}],"output":{"name":"alphanumonlyfilter"}}],[11,"transform","","",23,null],[8,"TokenFilter","","Trait for the pluggable components of `Tokenizer`s.",null,null],[16,"ResultTokenStream","","The resulting `TokenStream` type.",24,null],[10,"transform","","Wraps a token stream and returns the modified one.",24,null],[8,"TokenStream","","`TokenStream` is the result of the tokenization.",null,null],[10,"advance","","Advance to the next token",25,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[10,"token","","Returns a reference to the current token.",25,{"inputs":[{"name":"self"}],"output":{"name":"token"}}],[10,"token_mut","","Returns a mutable reference to the current token.",25,{"inputs":[{"name":"self"}],"output":{"name":"token"}}],[11,"next","","Helper to iterate over tokens. It simply combines a call to `.advance()` and `.token()`.",25,{"inputs":[{"name":"self"}],"output":{"generics":["token"],"name":"option"}}],[11,"process","","Helper function to consume the entire `TokenStream` and push the tokens to a sink function.",25,{"inputs":[{"name":"self"},{"name":"fnmut"}],"output":{"name":"u32"}}],[8,"Tokenizer","","`Tokenizer` are in charge of splitting text into a stream of token before indexing.",null,null],[16,"TokenStreamImpl","","Type associated to the resulting tokenstream tokenstream.",26,null],[10,"token_stream","","Creates a token stream for a given `str`.",26,null],[11,"filter","","Appends a token filter to the current tokenizer.",26,{"inputs":[{"name":"self"},{"name":"newfilter"}],"output":{"name":"chaintokenizer"}}],[8,"BoxedTokenizer","","A boxed tokenizer",null,null],[10,"token_stream","","Tokenize a `&str`",27,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["tokenstream"],"name":"box"}}],[10,"token_stream_texts","","Tokenize an array`&str`",27,null],[10,"boxed_clone","","Return a boxed clone of the tokenizer",27,{"inputs":[{"name":"self"}],"output":{"generics":["boxedtokenizer"],"name":"box"}}],[0,"termdict","tantivy","The term dictionary is one of the key datastructure of tantivy. It associates sorted `terms` to a `TermInfo` struct that serves as an address in their respective posting list.",null,null],[3,"TermMerger","tantivy::termdict","Given a list of sorted term streams, returns an iterator over sorted unique terms.",null,null],[3,"TermDictionaryBuilderImpl","","See `TermDictionaryBuilder`",null,null],[3,"TermDictionaryImpl","","See `TermDictionary`",null,null],[3,"TermStreamerBuilderImpl","","See `TermStreamerBuilder`",null,null],[3,"TermStreamerImpl","","See `TermStreamer`",null,null],[11,"new","","",28,{"inputs":[{"name":"w"},{"name":"fieldtype"}],"output":{"name":"result"}}],[11,"insert","","",28,{"inputs":[{"name":"self"},{"name":"k"},{"name":"terminfo"}],"output":{"name":"result"}}],[11,"finish","","",28,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"from_source","","",29,{"inputs":[{"name":"readonlysource"}],"output":{"name":"self"}}],[11,"num_terms","","",29,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"term_ord","","",29,{"inputs":[{"name":"self"},{"name":"k"}],"output":{"generics":["termordinal"],"name":"option"}}],[11,"ord_to_term","","",29,{"inputs":[{"name":"self"},{"name":"termordinal"},{"name":"vec"}],"output":{"name":"bool"}}],[11,"term_info_from_ord","","",29,{"inputs":[{"name":"self"},{"name":"termordinal"}],"output":{"name":"terminfo"}}],[11,"get","","",29,{"inputs":[{"name":"self"},{"name":"k"}],"output":{"generics":["terminfo"],"name":"option"}}],[11,"range","","",29,{"inputs":[{"name":"self"}],"output":{"name":"termstreamerbuilderimpl"}}],[11,"ge","","",30,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[11,"gt","","",30,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[11,"le","","",30,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[11,"lt","","",30,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[11,"into_stream","","",30,null],[11,"advance","","",31,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"term_ord","","",31,{"inputs":[{"name":"self"}],"output":{"name":"termordinal"}}],[11,"key","","",31,null],[11,"value","","",31,{"inputs":[{"name":"self"}],"output":{"name":"terminfo"}}],[11,"new","","Stream of merged term dictionary",32,{"inputs":[{"generics":["termstreamerimpl"],"name":"vec"}],"output":{"name":"termmerger"}}],[11,"advance","","Advance the term iterator to the next term. Returns true if there is indeed another term False if there is none.",32,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"key","","Returns the current term.",32,null],[11,"current_kvs","","Returns the sorted list of segment ordinals that include the current term.",32,null],[11,"next","","Iterates through terms",32,{"inputs":[{"name":"self"}],"output":{"generics":["term"],"name":"option"}}],[6,"TermOrdinal","","Position of the term in the sorted list of terms.",null,null],[8,"TermDictionary","","Dictionary associating sorted `&[u8]` to values",null,null],[16,"Streamer","","Streamer type associated to the term dictionary",33,null],[16,"StreamBuilder","","StreamerBuilder type associated to the term dictionary",33,null],[10,"from_source","","Opens a `TermDictionary` given a data source.",33,{"inputs":[{"name":"readonlysource"}],"output":{"name":"self"}}],[10,"num_terms","","Returns the number of terms in the dictionary. Term ordinals range from 0 to `num_terms() - 1`.",33,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[10,"term_ord","","Returns the ordinal associated to a given term.",33,{"inputs":[{"name":"self"},{"name":"k"}],"output":{"generics":["termordinal"],"name":"option"}}],[10,"ord_to_term","","Returns the term associated to a given term ordinal.",33,{"inputs":[{"name":"self"},{"name":"termordinal"},{"name":"vec"}],"output":{"name":"bool"}}],[10,"term_info_from_ord","","Returns the number of terms in the dictionary.",33,{"inputs":[{"name":"self"},{"name":"termordinal"}],"output":{"name":"terminfo"}}],[10,"get","","Lookups the value corresponding to the key.",33,{"inputs":[{"name":"self"},{"name":"k"}],"output":{"generics":["terminfo"],"name":"option"}}],[10,"range","","Returns a range builder, to stream all of the terms within an interval.",33,null],[11,"stream","","A stream of all the sorted terms. See also `.stream_field()`",33,null],[11,"stream_field","","A stream of all the sorted terms in the given field.",33,null],[8,"TermDictionaryBuilder","","Builder for the new term dictionary.",null,null],[10,"new","","Creates a new `TermDictionaryBuilder`",34,{"inputs":[{"name":"w"},{"name":"fieldtype"}],"output":{"name":"result"}}],[10,"insert","","Inserts a `(key, value)` pair in the term dictionary.",34,{"inputs":[{"name":"self"},{"name":"k"},{"name":"terminfo"}],"output":{"name":"result"}}],[10,"finish","","Finalize writing the builder, and returns the underlying `Write` object.",34,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[8,"TermStreamer","","`TermStreamer` acts as a cursor over a range of terms of a segment. Terms are guaranteed to be sorted.",null,null],[10,"advance","","Advance position the stream on the next item. Before the first call to `.advance()`, the stream is an unitialized state.",35,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[10,"key","","Accesses the current key.",35,null],[10,"term_ord","","Returns the `TermOrdinal` of the given term.",35,{"inputs":[{"name":"self"}],"output":{"name":"termordinal"}}],[10,"value","","Accesses the current value.",35,{"inputs":[{"name":"self"}],"output":{"name":"terminfo"}}],[11,"next","","Return the next `(key, value)` pair.",35,{"inputs":[{"name":"self"}],"output":{"name":"option"}}],[8,"TermStreamerBuilder","","`TermStreamerBuilder` is an helper object used to define a range of terms that should be streamed.",null,null],[16,"Streamer","","Associated `TermStreamer` type that this builder is building.",36,null],[10,"ge","","Limit the range to terms greater or equal to the bound",36,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[10,"gt","","Limit the range to terms strictly greater than the bound",36,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[10,"lt","","Limit the range to terms lesser or equal to the bound",36,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[10,"le","","Limit the range to terms lesser or equal to the bound",36,{"inputs":[{"name":"self"},{"name":"t"}],"output":{"name":"self"}}],[10,"into_stream","","Creates the stream corresponding to the range of terms defined using the `TermStreamerBuilder`.",36,null],[0,"store","tantivy","Compressed/slow/row-oriented storage for documents.",null,null],[3,"StoreReader","tantivy::store","Reads document off tantivy's `Store`",null,null],[3,"StoreWriter","","Write tantivy's `Store`",null,null],[11,"clone","","",37,{"inputs":[{"name":"self"}],"output":{"name":"storereader"}}],[11,"from_source","","Opens a store reader",37,{"inputs":[{"name":"readonlysource"}],"output":{"name":"storereader"}}],[11,"get","","Reads a given document.",37,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"generics":["document"],"name":"result"}}],[11,"new","","Create a store writer.",38,{"inputs":[{"name":"writeptr"}],"output":{"name":"storewriter"}}],[11,"store","","Store a new document.",38,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"result"}}],[11,"stack","","Stacks a store reader on top of the documents written so far. This method is an optimization compared to iterating over the documents in the store and adding them one by one, as the store's data will not be decompressed and then recompressed.",38,{"inputs":[{"name":"self"},{"name":"storereader"}],"output":{"name":"result"}}],[11,"close","","Finalized the store writer.",38,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[0,"query","tantivy","Query",null,null],[3,"Intersection","tantivy::query","Creates a `DocSet` that iterator through the intersection of two `DocSet`s.",null,null],[3,"Union","","Creates a `DocSet` that iterator through the intersection of two `DocSet`s.",null,null],[3,"RequiredOptionalScorer","","Given a required scorer and an optional scorer matches all document from the required scorer and complements the score using the optional scorer.",null,null],[3,"Exclude","","Filters a given `DocSet` by removing the docs from a given `DocSet`.",null,null],[3,"BitSetDocSet","","A `BitSetDocSet` makes it possible to iterate through a bitset as if it was a `DocSet`.",null,null],[3,"BooleanQuery","","The boolean query combines a set of queries",null,null],[3,"PhraseQuery","","`PhraseQuery` matches a specific sequence of words.",null,null],[3,"QueryParser","","Tantivy's Query parser",null,null],[3,"EmptyScorer","","`EmptyScorer` is a dummy `Scorer` in which no document matches.",null,null],[3,"TermQuery","","A Term query matches all of the documents containing a specific term.",null,null],[3,"AllQuery","","Query that matches all of the documents.",null,null],[3,"AllScorer","","Scorer associated to the `AllQuery` query.",null,null],[3,"AllWeight","","Weight associated to the `AllQuery` query.",null,null],[3,"RangeQuery","","`RangeQuery` match all documents that have at least one term within a defined range.",null,null],[3,"ConstScorer","","Wraps a `DocSet` and simply returns a constant `Scorer`. The `ConstScorer` is useful if you have a `DocSet` where you needed a scorer.",null,null],[4,"Occur","","Defines whether a term in a query must be present, should be present or must not be present.",null,null],[13,"Should","","For a given document to be considered for scoring, at least one of the document with the Should or the Must Occur constraint must be within the document.",39,null],[13,"Must","","Document without the term are excluded from the search.",39,null],[13,"MustNot","","Document that contain the term are excluded from the search.",39,null],[4,"QueryParserError","","Possible error that may happen when parsing a query.",null,null],[13,"SyntaxError","","Error in the query syntax",40,null],[13,"FieldDoesNotExist","","`FieldDoesNotExist(field_name: String)` The query references a field that is not in the schema",40,null],[13,"ExpectedInt","","The query contains a term for a `u64`-field, but the value is not a u64.",40,null],[13,"AllButQueryForbidden","","It is forbidden queries that are only \"excluding\". (e.g. -title:pop)",40,null],[13,"NoDefaultFieldDeclared","","If no default field is declared, running a query without any field specified is forbbidden.",40,null],[13,"FieldNotIndexed","","The field searched for is not declared as indexed in the schema.",40,null],[13,"UnknownTokenizer","","The tokenizer for the given field is unknown The two argument strings are the name of the field, the name of the tokenizer",40,null],[11,"fmt","","",41,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",41,{"inputs":[{"name":"vec"}],"output":{"name":"booleanquery"}}],[11,"weight","","",41,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"new_multiterms_query","","Helper method to create a boolean query matching a given list of terms. The resulting query is a disjunction of the terms.",41,{"inputs":[{"generics":["term"],"name":"vec"}],"output":{"name":"booleanquery"}}],[11,"advance","","",42,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"doc","","",42,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",42,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",42,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"new","","Creates a new `ConstScorer`.",43,{"inputs":[{"name":"tdocset"}],"output":{"name":"constscorer"}}],[11,"set_score","","Sets the constant score to a different value.",43,{"inputs":[{"name":"self"},{"name":"score"}],"output":null}],[11,"advance","","",43,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",43,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"fill_buffer","","",43,null],[11,"doc","","",43,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",43,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"append_to_bitset","","",43,{"inputs":[{"name":"self"},{"name":"bitset"}],"output":null}],[11,"score","","",43,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"fmt","","",39,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",39,{"inputs":[{"name":"self"}],"output":{"name":"occur"}}],[11,"hash","","",39,null],[11,"eq","","",39,{"inputs":[{"name":"self"},{"name":"occur"}],"output":{"name":"bool"}}],[11,"fmt","","",44,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new","","Creates a new term query.",44,{"inputs":[{"name":"term"},{"name":"indexrecordoption"}],"output":{"name":"termquery"}}],[11,"specialized_weight","","Returns a weight object.",44,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"name":"termweight"}}],[11,"weight","","",44,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"fmt","","",40,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",40,{"inputs":[{"name":"self"},{"name":"queryparsererror"}],"output":{"name":"bool"}}],[11,"ne","","",40,{"inputs":[{"name":"self"},{"name":"queryparsererror"}],"output":{"name":"bool"}}],[11,"from","","",40,{"inputs":[{"name":"parseinterror"}],"output":{"name":"queryparsererror"}}],[11,"new","","Creates a `QueryParser`, given * schema - index Schema * default_fields - fields used to search if no field is specifically defined in the query.",45,{"inputs":[{"name":"schema"},{"generics":["field"],"name":"vec"},{"name":"tokenizermanager"}],"output":{"name":"queryparser"}}],[11,"for_index","","Creates a `QueryParser`, given * an index * a set of default - fields used to search if no field is specifically defined in the query.",45,{"inputs":[{"name":"index"},{"generics":["field"],"name":"vec"}],"output":{"name":"queryparser"}}],[11,"set_conjunction_by_default","","Set the default way to compose queries to a conjunction.",45,{"inputs":[{"name":"self"}],"output":null}],[11,"parse_query","","Parse a query",45,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["box","queryparsererror"],"name":"result"}}],[11,"fmt","","",46,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"weight","","Create the weight associated to a query.",46,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"from","","",46,{"inputs":[{"generics":["term"],"name":"vec"}],"output":{"name":"phrasequery"}}],[11,"fmt","","",47,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"weight","","",47,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"scorer","","",48,{"inputs":[{"name":"self"},{"name":"segmentreader"}],"output":{"generics":["box"],"name":"result"}}],[11,"advance","","",49,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"doc","","",49,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",49,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",49,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"advance","","",50,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",50,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"doc","","Returns the current document",50,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","Returns half of the `max_doc` This is quite a terrible heuristic, but we don't have access to any better value.",50,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"fmt","","",51,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new_i64","","Create a new `RangeQuery` over a `i64` field.",51,{"inputs":[{"name":"field"},{"name":"trangeargument"}],"output":{"name":"rangequery"}}],[11,"new_u64","","Create a new `RangeQuery` over a `u64` field.",51,{"inputs":[{"name":"field"},{"name":"trangeargument"}],"output":{"name":"rangequery"}}],[11,"new_str","","Create a new `RangeQuery` over a `Str` field.",51,{"inputs":[{"name":"field"},{"name":"trangeargument"}],"output":{"name":"rangequery"}}],[11,"weight","","",51,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"new","","Creates a new `ExcludeScorer`",52,{"inputs":[{"name":"tdocset"},{"name":"tdocsetexclude"}],"output":{"name":"exclude"}}],[11,"advance","","",52,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",52,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"doc","","",52,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","`.size_hint()` directly returns the size of the underlying docset without taking in account the fact that docs might be deleted.",52,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",52,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"from","","",53,{"inputs":[{"name":"vec"}],"output":{"name":"union"}}],[11,"advance","","",53,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"count","","",53,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"skip_next","","",53,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"doc","","",53,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",53,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",53,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"from","","",54,{"inputs":[{"name":"vec"}],"output":{"name":"intersection"}}],[11,"docsets","","Returns an array to the underlying `DocSet`s of the intersection. These `DocSet` are in the same position as the `IntersectionDocSet`, so that user can access their `docfreq` and `positions`.",54,null],[11,"advance","","",54,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",54,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"doc","","",54,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",54,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",54,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"new","","Creates a new `RequiredOptionalScorer`.",55,{"inputs":[{"name":"treqscorer"},{"name":"toptscorer"}],"output":{"name":"requiredoptionalscorer"}}],[11,"advance","","",55,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"doc","","",55,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"size_hint","","",55,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"score","","",55,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[8,"Query","","The `Query` trait defines a set of documents and a scoring method for those documents.",null,null],[10,"weight","","Create the weight associated to a query.",56,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"bool"}],"output":{"generics":["box"],"name":"result"}}],[11,"count","","Returns the number of documents matching the query.",56,{"inputs":[{"name":"self"},{"name":"searcher"}],"output":{"generics":["usize"],"name":"result"}}],[11,"search","","Search works as follows :",56,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"collector"}],"output":{"generics":["timertree"],"name":"result"}}],[8,"Scorer","","Scored set of documents matching a query within a specific segment.",null,null],[10,"score","","Returns the score.",57,{"inputs":[{"name":"self"}],"output":{"name":"score"}}],[11,"collect","","Consumes the complete `DocSet` and push the scored documents to the collector.",57,{"inputs":[{"name":"self"},{"name":"collector"}],"output":null}],[8,"Weight","","A Weight is the specialization of a Query for a given set of segments.",null,null],[10,"scorer","","Returns the scorer for the given segment. See `Query`.",58,{"inputs":[{"name":"self"},{"name":"segmentreader"}],"output":{"generics":["box"],"name":"result"}}],[11,"count","","Returns the number documents within the given `SegmentReader`.",58,{"inputs":[{"name":"self"},{"name":"segmentreader"}],"output":{"generics":["u32"],"name":"result"}}],[0,"directory","tantivy","WORM directory abstraction.",null,null],[3,"RAMDirectory","tantivy::directory","A Directory storing everything in anonymous memory.",null,null],[3,"MmapDirectory","","Directory storing data in files, read via mmap.",null,null],[4,"ReadOnlySource","","Read object that represents files in tantivy.",null,null],[13,"Mmap","","Mmap source of data",59,null],[13,"Anonymous","","Wrapping a `Vec`",59,null],[11,"clone","","",60,{"inputs":[{"name":"self"}],"output":{"name":"mmapdirectory"}}],[11,"fmt","","",60,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"create_from_tempdir","","Creates a new MmapDirectory in a temporary directory.",60,{"inputs":[],"output":{"generics":["mmapdirectory"],"name":"result"}}],[11,"open","","Opens a MmapDirectory in a directory.",60,{"inputs":[{"name":"p"}],"output":{"generics":["mmapdirectory","opendirectoryerror"],"name":"result"}}],[11,"get_cache_info","","Returns some statistical information about the Mmap cache.",60,{"inputs":[{"name":"self"}],"output":{"name":"cacheinfo"}}],[11,"open_read","","",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[11,"open_write","","",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[11,"delete","","Any entry associated to the path in the mmap will be removed before the file is deleted.",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["deleteerror"],"name":"result"}}],[11,"exists","","",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[11,"atomic_read","","",60,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["vec","openreaderror"],"name":"result"}}],[11,"atomic_write","","",60,null],[11,"box_clone","","",60,{"inputs":[{"name":"self"}],"output":{"generics":["directory"],"name":"box"}}],[11,"fmt","","",61,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",61,{"inputs":[{"name":"self"}],"output":{"name":"ramdirectory"}}],[11,"create","","Constructor",61,{"inputs":[],"output":{"name":"ramdirectory"}}],[11,"open_read","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[11,"open_write","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[11,"delete","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["deleteerror"],"name":"result"}}],[11,"exists","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[11,"atomic_read","","",61,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["vec","openreaderror"],"name":"result"}}],[11,"atomic_write","","",61,null],[11,"box_clone","","",61,{"inputs":[{"name":"self"}],"output":{"generics":["directory"],"name":"box"}}],[11,"deref","","",59,null],[11,"empty","","Creates an empty ReadOnlySource",59,{"inputs":[],"output":{"name":"readonlysource"}}],[11,"as_slice","","Returns the data underlying the ReadOnlySource object.",59,null],[11,"split","","Splits into 2 `ReadOnlySource`, at the offset given as an argument.",59,null],[11,"slice","","Creates a ReadOnlySource that is just a view over a slice of the data.",59,{"inputs":[{"name":"self"},{"name":"usize"},{"name":"usize"}],"output":{"name":"readonlysource"}}],[11,"slice_from","","Like `.slice(...)` but enforcing only the `from` boundary.",59,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"readonlysource"}}],[11,"slice_to","","Like `.slice(...)` but enforcing only the `to` boundary.",59,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"readonlysource"}}],[11,"len","","",59,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"clone","","",59,{"inputs":[{"name":"self"}],"output":{"name":"self"}}],[11,"from","","",59,{"inputs":[{"generics":["u8"],"name":"vec"}],"output":{"name":"readonlysource"}}],[0,"error","","Errors specific to the directory module.",null,null],[3,"IOError","tantivy::directory::error","General IO error with an optional path to the offending file.",null,null],[4,"OpenDirectoryError","","Error that may occur when opening a directory",null,null],[13,"DoesNotExist","","The underlying directory does not exists.",62,null],[13,"NotADirectory","","The path exists but is not a directory.",62,null],[4,"OpenWriteError","","Error that may occur when starting to write in a file",null,null],[13,"FileAlreadyExists","","Our directory is WORM, writing an existing file is forbidden. Checkout the `Directory` documentation.",63,null],[13,"IOError","","Any kind of IO error that happens when writing in the underlying IO device.",63,null],[4,"OpenReadError","","Error that may occur when accessing a file read",null,null],[13,"FileDoesNotExist","","The file does not exists.",64,null],[13,"IOError","","Any kind of IO error that happens when interacting with the underlying IO device.",64,null],[4,"DeleteError","","Error that may occur when trying to delete a file",null,null],[13,"FileDoesNotExist","","The file does not exists.",65,null],[13,"IOError","","Any kind of IO error that happens when interacting with the underlying IO device.",65,null],[13,"FileProtected","","The file may not be deleted because it is protected.",65,null],[11,"fmt","","",66,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",66,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",66,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",66,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[11,"from","","",66,{"inputs":[{"name":"error"}],"output":{"name":"ioerror"}}],[11,"fmt","","",62,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"fmt","","",62,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",62,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",62,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[11,"fmt","","",63,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",63,{"inputs":[{"name":"ioerror"}],"output":{"name":"openwriteerror"}}],[11,"fmt","","",63,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",63,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",63,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[11,"fmt","","",64,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",64,{"inputs":[{"name":"ioerror"}],"output":{"name":"openreaderror"}}],[11,"fmt","","",64,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",64,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",64,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[11,"fmt","","",65,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",65,{"inputs":[{"name":"ioerror"}],"output":{"name":"deleteerror"}}],[11,"fmt","","",65,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",65,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",65,{"inputs":[{"name":"self"}],"output":{"generics":["stderror"],"name":"option"}}],[6,"WritePtr","tantivy::directory","Write object for Directory.",null,null],[8,"Directory","","Write-once read many (WORM) abstraction for where tantivy's data should be stored.",null,null],[10,"open_read","","Opens a virtual file for read.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[10,"delete","","Removes a file",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["deleteerror"],"name":"result"}}],[10,"exists","","Returns true iff the file exists",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[10,"open_write","","Opens a writer for the virtual file associated with a Path.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[10,"atomic_read","","Reads the full content file that has been written using atomic_write.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["vec","openreaderror"],"name":"result"}}],[10,"atomic_write","","Atomically replace the content of a file with data.",67,null],[10,"box_clone","","Clones the directory and boxes the clone",67,{"inputs":[{"name":"self"}],"output":{"generics":["directory"],"name":"box"}}],[8,"SeekableWrite","","Synonym of Seek + Write",null,null],[0,"collector","tantivy","Defines how the documents matching a search query should be processed.",null,null],[3,"CountCollector","tantivy::collector","`CountCollector` collector only counts how many documents match the query.",null,null],[3,"MultiCollector","","Multicollector makes it possible to collect on more than one collector. It should only be used for use cases where the Collector types is unknown at compile time. If the type of the collectors is known, you should prefer to use `ChainedCollector`.",null,null],[3,"TopCollector","","The Top Collector keeps track of the K documents with the best scores.",null,null],[3,"FacetCollector","","Collector for faceting",null,null],[5,"chain","","Creates a `ChainedCollector`",null,{"inputs":[],"output":{"generics":["donothingcollector","donothingcollector"],"name":"chainedcollector"}}],[11,"default","","",68,{"inputs":[],"output":{"name":"countcollector"}}],[11,"count","","Returns the count of documents that were collected.",68,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"set_segment","","",68,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[11,"collect","","",68,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[11,"requires_scoring","","",68,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"from","","Constructor",69,{"inputs":[{"generics":["collector"],"name":"vec"}],"output":{"name":"multicollector"}}],[11,"set_segment","","",69,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[11,"collect","","",69,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[11,"requires_scoring","","",69,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"with_limit","","Creates a top collector, with a number of documents equal to \"limit\".",70,{"inputs":[{"name":"usize"}],"output":{"name":"topcollector"}}],[11,"docs","","Returns K best documents sorted in decreasing order.",70,{"inputs":[{"name":"self"}],"output":{"generics":["docaddress"],"name":"vec"}}],[11,"score_docs","","Returns K best ScoredDocument sorted in decreasing order.",70,{"inputs":[{"name":"self"}],"output":{"name":"vec"}}],[11,"at_capacity","","Return true iff at least K documents have gone through the collector.",70,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"set_segment","","",70,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[11,"collect","","",70,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[11,"requires_scoring","","",70,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"for_field","","Create a facet collector to collect the facets from a specific facet `Field`.",71,{"inputs":[{"name":"field"}],"output":{"name":"facetcollector"}}],[11,"add_facet","","Adds a facet that we want to record counts",71,{"inputs":[{"name":"self"},{"name":"t"}],"output":null}],[11,"harvest","","Returns the results of the collection.",71,{"inputs":[{"name":"self"}],"output":{"name":"facetcounts"}}],[11,"set_segment","","",71,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[11,"collect","","",71,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[11,"requires_scoring","","",71,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[8,"Collector","","Collectors are in charge of collecting and retaining relevant information from the document found and scored by the query.",null,null],[10,"set_segment","","`set_segment` is called before beginning to enumerate on this segment.",72,{"inputs":[{"name":"self"},{"name":"segmentlocalid"},{"name":"segmentreader"}],"output":{"name":"result"}}],[10,"collect","","The query pushes the scored document to the collector via this method.",72,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"score"}],"output":null}],[10,"requires_scoring","","Returns true iff the collector requires to compute scores for documents.",72,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[0,"postings","tantivy","Postings module (also called inverted index)",null,null],[3,"FieldSerializer","tantivy::postings","The field serializer is in charge of the serialization of a specific field.",null,null],[3,"InvertedIndexSerializer","","`PostingsSerializer` is in charge of serializing postings on disk, in the * `.idx` (inverted index) * `.pos` (positions file) * `.term` (term dictionary)",null,null],[3,"TermInfo","","`TermInfo` contains all of the information associated to terms in the `.term` file.",null,null],[12,"doc_freq","","Number of documents in the segment containing the term",73,null],[12,"postings_offset","","Offset within the postings (`.idx`) file.",73,null],[12,"positions_offset","","Offset within the position (`.pos`) file.",73,null],[12,"positions_inner_offset","","Offset within the position block.",73,null],[3,"BlockSegmentPostings","","`BlockSegmentPostings` is a cursor iterating over blocks of documents.",null,null],[3,"SegmentPostings","","`SegmentPostings` represents the inverted list or postings associated to a term in a `Segment`.",null,null],[11,"open","","Open a new `PostingsSerializer` for the given segment",74,{"inputs":[{"name":"segment"}],"output":{"generics":["invertedindexserializer"],"name":"result"}}],[11,"new_field","","Must be called before starting pushing terms of a given field.",74,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["fieldserializer"],"name":"result"}}],[11,"close","","Closes the serializer.",74,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"new_term","","Starts the postings for a new term. * term - the term. It needs to come after the previous term according to the lexicographical order. * doc_freq - return the number of document containing the term.",75,null],[11,"write_doc","","Serialize the information that a document contains the current term, its term frequency, and the position deltas.",75,null],[11,"close_term","","Finish the serialization for this term postings.",75,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"close","","Closes the current current field.",75,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"fmt","","",73,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"default","","",73,{"inputs":[],"output":{"name":"terminfo"}}],[11,"cmp","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"ordering"}}],[11,"partial_cmp","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"le","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"gt","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"ge","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"eq","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"ne","","",73,{"inputs":[{"name":"self"},{"name":"terminfo"}],"output":{"name":"bool"}}],[11,"clone","","",73,{"inputs":[{"name":"self"}],"output":{"name":"terminfo"}}],[11,"create_from_docs","","Creates a segment postings object with the given documents and no frequency encoded.",76,null],[11,"from_block_postings","","Reads a Segment postings from an &[u8]",76,{"inputs":[{"name":"blocksegmentpostings"},{"name":"deletebitset"},{"generics":["compressedintstream"],"name":"option"}],"output":{"name":"segmentpostings"}}],[11,"empty","","Returns an empty segment postings object",76,{"inputs":[],"output":{"name":"segmentpostings"}}],[11,"advance","","",76,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","",76,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"size_hint","","",76,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"doc","","Return the current document's `DocId`.",76,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"append_to_bitset","","",76,{"inputs":[{"name":"self"},{"name":"bitset"}],"output":null}],[11,"len","","",76,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"term_freq","","",76,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"positions","","",76,null],[11,"doc_freq","","Returns the document frequency associated to this block postings.",77,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"docs","","Returns the array of docs in the current block.",77,null],[11,"doc","","Return the document at index `idx` of the block.",77,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"u32"}}],[11,"freqs","","Return the array of `term freq` in the block.",77,null],[11,"freq","","Return the frequency at index `idx` of the block.",77,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"u32"}}],[11,"advance","","Advance to the next block.",77,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"empty","","Returns an empty segment postings object",77,{"inputs":[],"output":{"name":"blocksegmentpostings"}}],[11,"next","","",77,{"inputs":[{"name":"self"}],"output":{"name":"option"}}],[8,"Postings","","Postings (also called inverted list)",null,null],[10,"term_freq","","Returns the term frequency",78,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[10,"positions","","Returns the list of positions of the term, expressed as a list of token ordinals.",78,null],[8,"HasLen","","Has length trait",null,null],[10,"len","","Return length",79,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"is_empty","","Returns true iff empty.",79,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[0,"schema","tantivy","Schema definition for tantivy's indices.",null,null],[3,"NamedFieldDocument","tantivy::schema","Internal representation of a document used for JSON serialization.",null,null],[12,"0","","",80,null],[3,"Schema","","Tantivy has a very strict schema. You need to specify in advance, whether a field is indexed or not, stored or not, and RAM-based or not.",null,null],[3,"SchemaBuilder","","Tantivy has a very strict schema. You need to specify in advance whether a field is indexed or not, stored or not, and RAM-based or not.",null,null],[3,"Facet","","A Facet represent a point in a given hierarchy.",null,null],[3,"Document","","Tantivy's Document is the object that can be indexed and then searched for.",null,null],[3,"Field","","`Field` is actually a `u8` identifying a `Field` The schema is in charge of holding mapping between field names to `Field` objects.",null,null],[12,"0","","",81,null],[3,"Term","","Term represents the value that the token can take.",null,null],[3,"FieldEntry","","A `FieldEntry` represents a field and its configuration. `Schema` are a collection of `FieldEntry`",null,null],[3,"FieldValue","","`FieldValue` holds together a `Field` and its `Value`.",null,null],[3,"TextOptions","","Define how a text field should be handled by tantivy.",null,null],[3,"TextFieldIndexing","","Configuration defining indexing for a text field. It wraps:",null,null],[3,"IntOptions","","Define how an int field should be handled by tantivy.",null,null],[4,"Value","","Value represents the value of a any field. It is an enum over all over all of the possible field type.",null,null],[13,"Str","","The str type is used for any text information.",82,null],[13,"U64","","Unsigned 64-bits Integer `u64`",82,null],[13,"I64","","Signed 64-bits Integer `i64`",82,null],[13,"Facet","","Hierarchical Facet",82,null],[4,"DocParsingError","","Error that may happen when deserializing a document from JSON.",null,null],[13,"NotJSON","","The payload given is not valid JSON.",83,null],[13,"ValueError","","One of the value node could not be parsed.",83,null],[13,"NoSuchFieldInSchema","","The json-document contains a field that is not declared in the schema.",83,null],[4,"FieldType","","A `FieldType` describes the type (text, u64) of a field as well as how it should be handled by tantivy.",null,null],[13,"Str","","String field type configuration",84,null],[13,"U64","","Unsigned 64-bits integers field type configuration",84,null],[13,"I64","","Signed 64-bits integers 64 field type configuration",84,null],[13,"HierarchicalFacet","","Hierachical Facet",84,null],[4,"IndexRecordOption","","`IndexRecordOption` describes an amount information associated to a given indexed field.",null,null],[13,"Basic","","records only the `DocId`s",85,null],[13,"WithFreqs","","records the document ids as well as the term frequency. The term frequency can help giving better scoring of the documents.",85,null],[13,"WithFreqsAndPositions","","records the document id, the term frequency and the positions of the occurences in the document. Positions are required to run PhraseQueries.",85,null],[4,"Cardinality","","Express whether a field is single-value or multi-valued.",null,null],[13,"SingleValue","","The document must have exactly one value associated to the document.",86,null],[13,"MultiValues","","The document can have any number of values associated to the document. This is more memory and CPU expensive than the SingleValue solution.",86,null],[5,"is_valid_field_name","","Validator for a potential `field_name`. Returns true iff the name can be use for a field name.",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[11,"new","","Create a new `SchemaBuilder`",87,{"inputs":[],"output":{"name":"schemabuilder"}}],[11,"add_u64_field","","Adds a new u64 field. Returns the associated field handle",87,{"inputs":[{"name":"self"},{"name":"str"},{"name":"intoptions"}],"output":{"name":"field"}}],[11,"add_i64_field","","Adds a new i64 field. Returns the associated field handle",87,{"inputs":[{"name":"self"},{"name":"str"},{"name":"intoptions"}],"output":{"name":"field"}}],[11,"add_text_field","","Adds a new text field. Returns the associated field handle",87,{"inputs":[{"name":"self"},{"name":"str"},{"name":"textoptions"}],"output":{"name":"field"}}],[11,"add_facet_field","","Adds a facet field to the schema.",87,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"field"}}],[11,"build","","Finalize the creation of a `Schema` This will consume your `SchemaBuilder`",87,{"inputs":[{"name":"self"}],"output":{"name":"schema"}}],[11,"default","","",87,{"inputs":[],"output":{"name":"schemabuilder"}}],[11,"clone","","",88,{"inputs":[{"name":"self"}],"output":{"name":"schema"}}],[11,"get_field_entry","","Return the `FieldEntry` associated to a `Field`.",88,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"fieldentry"}}],[11,"get_field_name","","Return the field name for a given `Field`.",88,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"str"}}],[11,"fields","","Return the list of all the `Field`s.",88,null],[11,"get_field","","Returns the field options associated with a given name.",88,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["field"],"name":"option"}}],[11,"to_named_doc","","Create a named document off the doc.",88,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"namedfielddocument"}}],[11,"to_json","","Encode the schema in JSON.",88,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"string"}}],[11,"parse_document","","Build a document object from a json-object.",88,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"generics":["document","docparsingerror"],"name":"result"}}],[11,"fmt","","",88,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"generics":["error"],"name":"result"}}],[11,"serialize","","",88,{"inputs":[{"name":"self"},{"name":"s"}],"output":{"name":"result"}}],[11,"deserialize","","",88,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"from","","",88,{"inputs":[{"name":"schemabuilder"}],"output":{"name":"schema"}}],[11,"fmt","","",83,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","tantivy","",89,{"inputs":[{"name":"self"}],"output":{"name":"term"}}],[11,"eq","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"ne","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"le","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"gt","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"ge","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"bool"}}],[11,"cmp","","",89,{"inputs":[{"name":"self"},{"name":"term"}],"output":{"name":"ordering"}}],[11,"hash","","",89,null],[11,"from_field_i64","","Builds a term given a field, and a u64-value",89,{"inputs":[{"name":"field"},{"name":"i64"}],"output":{"name":"term"}}],[11,"from_field_text","","Builds a term given a field, and a string value",89,{"inputs":[{"name":"field"},{"name":"str"}],"output":{"name":"term"}}],[11,"from_field_u64","","Builds a term given a field, and a u64-value",89,{"inputs":[{"name":"field"},{"name":"u64"}],"output":{"name":"term"}}],[11,"set_field","","Returns the field.",89,{"inputs":[{"name":"self"},{"name":"field"}],"output":null}],[11,"set_u64","","Sets a u64 value in the term.",89,{"inputs":[{"name":"self"},{"name":"u64"}],"output":null}],[11,"set_i64","","Sets a `i64` value in the term.",89,{"inputs":[{"name":"self"},{"name":"i64"}],"output":null}],[11,"set_text","","Set the texts only, keeping the field untouched.",89,{"inputs":[{"name":"self"},{"name":"str"}],"output":null}],[11,"wrap","","Wraps a source of data",89,{"inputs":[{"name":"b"}],"output":{"name":"term"}}],[11,"field","","Returns the field.",89,{"inputs":[{"name":"self"}],"output":{"name":"field"}}],[11,"get_u64","","Returns the `u64` value stored in a term.",89,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[11,"get_i64","","Returns the `i64` value stored in a term.",89,{"inputs":[{"name":"self"}],"output":{"name":"i64"}}],[11,"text","","Returns the text associated with the term.",89,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"value_bytes","","Returns the serialized value of the term. (this does not include the field.)",89,null],[11,"as_slice","","Returns the underlying `&[u8]`",89,null],[11,"as_ref","","",89,null],[11,"fmt","","",89,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",90,{"inputs":[{"name":"self"}],"output":{"name":"document"}}],[11,"fmt","","",90,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"default","","",90,{"inputs":[],"output":{"name":"document"}}],[11,"from","","",90,{"inputs":[{"generics":["fieldvalue"],"name":"vec"}],"output":{"name":"self"}}],[11,"eq","","",90,{"inputs":[{"name":"self"},{"name":"document"}],"output":{"name":"bool"}}],[11,"new","","Creates a new, empty document object",90,{"inputs":[],"output":{"name":"document"}}],[11,"len","","Returns the number of `(field, value)` pairs.",90,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"is_empty","","Returns true iff the document contains no fields.",90,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"filter_fields","","Retain only the field that are matching the predicate given in argument.",90,{"inputs":[{"name":"self"},{"name":"p"}],"output":null}],[11,"add_facet","","Adding a facet to the document.",90,{"inputs":[{"name":"self"},{"name":"field"},{"name":"f"}],"output":null}],[11,"add_text","","Add a text field.",90,{"inputs":[{"name":"self"},{"name":"field"},{"name":"str"}],"output":null}],[11,"add_u64","","Add a u64 field",90,{"inputs":[{"name":"self"},{"name":"field"},{"name":"u64"}],"output":null}],[11,"add_i64","","Add a u64 field",90,{"inputs":[{"name":"self"},{"name":"field"},{"name":"i64"}],"output":null}],[11,"add","","Add a field value",90,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":null}],[11,"field_values","","field_values accessor",90,null],[11,"get_sorted_field_values","","Sort and groups the field_values by field.",90,{"inputs":[{"name":"self"}],"output":{"name":"vec"}}],[11,"get_all","","Returns all of the `FieldValue`s associated the given field",90,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["value"],"name":"vec"}}],[11,"get_first","","Returns the first `FieldValue` associated the given field",90,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["value"],"name":"option"}}],[11,"clone","tantivy::schema","",91,{"inputs":[{"name":"self"}],"output":{"name":"facet"}}],[11,"hash","","",91,null],[11,"eq","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"ne","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"cmp","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"ordering"}}],[11,"partial_cmp","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"le","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"gt","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"ge","","",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"root","","Returns a new instance of the \"root facet\" Equivalent to `/`.",91,{"inputs":[],"output":{"name":"facet"}}],[11,"is_root","","Returns true iff the facet is the root facet `/`.",91,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"encoded_bytes","","Returns a binary representation of the facet.",91,null],[11,"from_text","","Parse a text representation of a facet.",91,{"inputs":[{"name":"t"}],"output":{"name":"facet"}}],[11,"from_path","","Returns a `Facet` from an iterator over the different steps of the facet path.",91,{"inputs":[{"name":"path"}],"output":{"name":"facet"}}],[11,"is_prefix_of","","Returns `true` iff other is a subfacet of `self`.",91,{"inputs":[{"name":"self"},{"name":"facet"}],"output":{"name":"bool"}}],[11,"borrow","","",91,null],[11,"from","","",91,{"inputs":[{"name":"t"}],"output":{"name":"facet"}}],[11,"fmt","","",91,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"serialize","","",91,{"inputs":[{"name":"self"},{"name":"s"}],"output":{"name":"result"}}],[11,"deserialize","","",91,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"fmt","","",91,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",84,{"inputs":[{"name":"self"}],"output":{"name":"fieldtype"}}],[11,"fmt","","",84,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",84,{"inputs":[{"name":"self"},{"name":"fieldtype"}],"output":{"name":"bool"}}],[11,"ne","","",84,{"inputs":[{"name":"self"},{"name":"fieldtype"}],"output":{"name":"bool"}}],[11,"is_indexed","","returns true iff the field is indexed.",84,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"get_index_record_option","","Given a field configuration, return the maximal possible `IndexRecordOption` available.",84,{"inputs":[{"name":"self"}],"output":{"generics":["indexrecordoption"],"name":"option"}}],[11,"value_from_json","","Parses a field value from json, given the target FieldType.",84,{"inputs":[{"name":"self"},{"name":"jsonvalue"}],"output":{"generics":["value","valueparsingerror"],"name":"result"}}],[11,"clone","","",92,{"inputs":[{"name":"self"}],"output":{"name":"fieldentry"}}],[11,"fmt","","",92,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new_text","","Creates a new u64 field entry in the schema, given a name, and some options.",92,{"inputs":[{"name":"string"},{"name":"textoptions"}],"output":{"name":"fieldentry"}}],[11,"new_u64","","Creates a new u64 field entry in the schema, given a name, and some options.",92,{"inputs":[{"name":"string"},{"name":"intoptions"}],"output":{"name":"fieldentry"}}],[11,"new_i64","","Creates a new i64 field entry in the schema, given a name, and some options.",92,{"inputs":[{"name":"string"},{"name":"intoptions"}],"output":{"name":"fieldentry"}}],[11,"new_facet","","Creates a field entry for a facet.",92,{"inputs":[{"name":"string"}],"output":{"name":"fieldentry"}}],[11,"name","","Returns the name of the field",92,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"field_type","","Returns the field type",92,{"inputs":[{"name":"self"}],"output":{"name":"fieldtype"}}],[11,"is_indexed","","Returns true iff the field is indexed",92,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_int_fast","","Returns true iff the field is a int (signed or unsigned) fast field",92,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_stored","","Returns true iff the field is stored",92,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"serialize","","",92,{"inputs":[{"name":"self"},{"name":"s"}],"output":{"name":"result"}}],[11,"deserialize","","",92,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"fmt","","",93,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",93,{"inputs":[{"name":"self"}],"output":{"name":"fieldvalue"}}],[11,"cmp","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"ordering"}}],[11,"eq","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"ne","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"le","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"gt","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"ge","","",93,{"inputs":[{"name":"self"},{"name":"fieldvalue"}],"output":{"name":"bool"}}],[11,"new","","Constructor",93,{"inputs":[{"name":"field"},{"name":"value"}],"output":{"name":"fieldvalue"}}],[11,"field","","Field accessor",93,{"inputs":[{"name":"self"}],"output":{"name":"field"}}],[11,"value","","Value accessor",93,{"inputs":[{"name":"self"}],"output":{"name":"value"}}],[11,"clone","","",94,{"inputs":[{"name":"self"}],"output":{"name":"textoptions"}}],[11,"fmt","","",94,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",94,{"inputs":[{"name":"self"},{"name":"textoptions"}],"output":{"name":"bool"}}],[11,"ne","","",94,{"inputs":[{"name":"self"},{"name":"textoptions"}],"output":{"name":"bool"}}],[11,"get_indexing_options","","Returns the indexing options.",94,{"inputs":[{"name":"self"}],"output":{"generics":["textfieldindexing"],"name":"option"}}],[11,"is_stored","","Returns true iff the text is to be stored.",94,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"set_stored","","Sets the field as stored",94,{"inputs":[{"name":"self"}],"output":{"name":"textoptions"}}],[11,"set_indexing_options","","Sets the field as indexed, with the specific indexing options.",94,{"inputs":[{"name":"self"},{"name":"textfieldindexing"}],"output":{"name":"textoptions"}}],[11,"default","","",94,{"inputs":[],"output":{"name":"textoptions"}}],[11,"clone","","",95,{"inputs":[{"name":"self"}],"output":{"name":"textfieldindexing"}}],[11,"eq","","",95,{"inputs":[{"name":"self"},{"name":"textfieldindexing"}],"output":{"name":"bool"}}],[11,"ne","","",95,{"inputs":[{"name":"self"},{"name":"textfieldindexing"}],"output":{"name":"bool"}}],[11,"fmt","","",95,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"default","","",95,{"inputs":[],"output":{"name":"textfieldindexing"}}],[11,"set_tokenizer","","Sets the tokenizer to be used for a given field.",95,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"textfieldindexing"}}],[11,"tokenizer","","Returns the tokenizer that will be used for this field.",95,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"set_index_option","","Sets which information should be indexed with the tokens.",95,{"inputs":[{"name":"self"},{"name":"indexrecordoption"}],"output":{"name":"textfieldindexing"}}],[11,"index_option","","Returns the indexing options associated to this field.",95,{"inputs":[{"name":"self"}],"output":{"name":"indexrecordoption"}}],[11,"bitor","","",94,{"inputs":[{"name":"self"},{"name":"textoptions"}],"output":{"name":"textoptions"}}],[11,"clone","","",86,{"inputs":[{"name":"self"}],"output":{"name":"cardinality"}}],[11,"eq","","",86,{"inputs":[{"name":"self"},{"name":"cardinality"}],"output":{"name":"bool"}}],[11,"fmt","","",86,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",96,{"inputs":[{"name":"self"}],"output":{"name":"intoptions"}}],[11,"fmt","","",96,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",96,{"inputs":[{"name":"self"},{"name":"intoptions"}],"output":{"name":"bool"}}],[11,"ne","","",96,{"inputs":[{"name":"self"},{"name":"intoptions"}],"output":{"name":"bool"}}],[11,"is_stored","","Returns true iff the value is stored.",96,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_indexed","","Returns true iff the value is indexed.",96,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_fast","","Returns true iff the value is a fast field.",96,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"set_stored","","Set the u64 options as stored.",96,{"inputs":[{"name":"self"}],"output":{"name":"intoptions"}}],[11,"set_indexed","","Set the u64 options as indexed.",96,{"inputs":[{"name":"self"}],"output":{"name":"intoptions"}}],[11,"set_fast","","Set the u64 options as a single-valued fast field.",96,{"inputs":[{"name":"self"},{"name":"cardinality"}],"output":{"name":"intoptions"}}],[11,"get_fastfield_cardinality","","Returns the cardinality of the fastfield.",96,{"inputs":[{"name":"self"}],"output":{"generics":["cardinality"],"name":"option"}}],[11,"default","","",96,{"inputs":[],"output":{"name":"intoptions"}}],[11,"bitor","","",96,{"inputs":[{"name":"self"},{"name":"intoptions"}],"output":{"name":"intoptions"}}],[11,"clone","","",81,{"inputs":[{"name":"self"}],"output":{"name":"field"}}],[11,"fmt","","",81,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"ne","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"le","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"gt","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"ge","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"bool"}}],[11,"cmp","","",81,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"name":"ordering"}}],[11,"hash","","",81,null],[11,"fmt","","",82,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",82,{"inputs":[{"name":"self"}],"output":{"name":"value"}}],[11,"eq","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"ne","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"cmp","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"ordering"}}],[11,"partial_cmp","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"le","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"gt","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"ge","","",82,{"inputs":[{"name":"self"},{"name":"value"}],"output":{"name":"bool"}}],[11,"serialize","","",82,{"inputs":[{"name":"self"},{"name":"s"}],"output":{"name":"result"}}],[11,"deserialize","","",82,{"inputs":[{"name":"d"}],"output":{"name":"result"}}],[11,"text","","Returns the text value, provided the value is of the `Str` type.",82,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"u64_value","","Returns the u64-value, provided the value is of the `U64` type.",82,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[11,"i64_value","","Returns the i64-value, provided the value is of the `I64` type.",82,{"inputs":[{"name":"self"}],"output":{"name":"i64"}}],[11,"from","","",82,{"inputs":[{"name":"string"}],"output":{"name":"value"}}],[11,"from","","",82,{"inputs":[{"name":"u64"}],"output":{"name":"value"}}],[11,"from","","",82,{"inputs":[{"name":"i64"}],"output":{"name":"value"}}],[11,"from","","",82,{"inputs":[{"name":"str"}],"output":{"name":"value"}}],[11,"from","","",82,{"inputs":[{"name":"facet"}],"output":{"name":"value"}}],[11,"clone","","",85,{"inputs":[{"name":"self"}],"output":{"name":"indexrecordoption"}}],[11,"fmt","","",85,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"eq","","",85,{"inputs":[{"name":"self"},{"name":"indexrecordoption"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",85,{"inputs":[{"name":"self"},{"name":"indexrecordoption"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"cmp","","",85,{"inputs":[{"name":"self"},{"name":"indexrecordoption"}],"output":{"name":"ordering"}}],[11,"hash","","",85,null],[11,"is_termfreq_enabled","","Returns true iff the term frequency will be encoded.",85,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_position_enabled","","Returns true iff the term positions within the document are stored as well.",85,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"has_freq","","Returns true iff this option includes encoding term frequencies.",85,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"has_positions","","Returns true iff this option include encoding term positions.",85,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[17,"FACET_SEP_BYTE","","BYTE used as a level separation in the binary representation of facets.",null,null],[17,"TEXT","","The field will be tokenized and indexed",null,null],[17,"STRING","","The field will be untokenized and indexed",null,null],[17,"STORED","","A stored fields of a document can be retrieved given its `DocId`. Stored field are stored together and LZ4 compressed. Reading the stored fields of a document is relatively slow. (100 microsecs)",null,null],[17,"FAST","","Shortcut for a u64 fast field.",null,null],[17,"INT_INDEXED","","Shortcut for a u64 indexed field.",null,null],[17,"INT_STORED","","Shortcut for a u64 stored field.",null,null],[0,"fastfield","tantivy","Column oriented field storage for tantivy.",null,null],[3,"DeleteBitSet","tantivy::fastfield","Set of deleted `DocId`s.",null,null],[3,"FastFieldNotAvailableError","","`FastFieldNotAvailableError` is returned when the user requested for a fast field reader, and the field was not defined in the schema as a fast field.",null,null],[3,"FacetReader","","The facet reader makes it possible to access the list of facets associated to a given document in a specific segment.",null,null],[3,"MultiValueIntFastFieldReader","","Reader for a multivalued `u64` fast field.",null,null],[3,"FastFieldReader","","Trait for accessing a fastfield.",null,null],[3,"FastFieldSerializer","","`FastFieldSerializer` is in charge of serializing fastfields on disk.",null,null],[3,"FastFieldsWriter","","The fastfieldswriter regroup all of the fast field writers.",null,null],[3,"IntFastFieldWriter","","Fast field writer for ints. The fast field writer just keeps the values in memory.",null,null],[5,"write_delete_bitset","","Write a delete `BitSet`",null,{"inputs":[{"name":"bitset"},{"name":"writeptr"}],"output":{"name":"result"}}],[11,"clone","","",97,{"inputs":[{"name":"self"}],"output":{"name":"fastfieldreader"}}],[11,"open","","Opens a fast field given a source.",97,{"inputs":[{"name":"readonlysource"}],"output":{"name":"self"}}],[11,"get","","Return the value associated to the given document.",97,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"item"}}],[11,"get_range","","Fills an output buffer with the fast field values associated with the `DocId` going from `start` to `start + output.len()`.",97,null],[11,"min_value","","Returns the minimum value for this fast field.",97,{"inputs":[{"name":"self"}],"output":{"name":"item"}}],[11,"max_value","","Returns the maximum value for this fast field.",97,{"inputs":[{"name":"self"}],"output":{"name":"item"}}],[11,"from","","",97,{"inputs":[{"name":"vec"}],"output":{"name":"fastfieldreader"}}],[11,"from_schema","","Create all `FastFieldWriter` required by the schema.",98,{"inputs":[{"name":"schema"}],"output":{"name":"fastfieldswriter"}}],[11,"get_field_writer","","Get the `FastFieldWriter` associated to a field.",98,{"inputs":[{"name":"self"},{"name":"field"}],"output":{"generics":["intfastfieldwriter"],"name":"option"}}],[11,"add_document","","Indexes all of the fastfields of a new document.",98,{"inputs":[{"name":"self"},{"name":"document"}],"output":null}],[11,"serialize","","Serializes all of the `FastFieldWriter`s by pushing them in order to the fast field serializer.",98,{"inputs":[{"name":"self"},{"name":"fastfieldserializer"},{"name":"hashmap"}],"output":{"name":"result"}}],[11,"fill_val_up_to","","Ensures all of the fast field writers have reached `doc`. (included)",98,{"inputs":[{"name":"self"},{"name":"docid"}],"output":null}],[11,"new","","Creates a new `IntFastFieldWriter`",99,{"inputs":[{"name":"field"}],"output":{"name":"intfastfieldwriter"}}],[11,"field","","Returns the field that this writer is targetting.",99,{"inputs":[{"name":"self"}],"output":{"name":"field"}}],[11,"add_val","","Records a new value.",99,{"inputs":[{"name":"self"},{"name":"u64"}],"output":null}],[11,"add_document","","Extract the fast field value from the document (or use the default value) and records it.",99,{"inputs":[{"name":"self"},{"name":"document"}],"output":null}],[11,"serialize","","Push the fast fields value to the `FastFieldWriter`.",99,{"inputs":[{"name":"self"},{"name":"fastfieldserializer"}],"output":{"name":"result"}}],[11,"from_write","","Constructor",100,{"inputs":[{"name":"writeptr"}],"output":{"generics":["fastfieldserializer"],"name":"result"}}],[11,"new_u64_fast_field","","Start serializing a new u64 fast field",100,{"inputs":[{"name":"self"},{"name":"field"},{"name":"u64"},{"name":"u64"}],"output":{"generics":["fastsinglefieldserializer"],"name":"result"}}],[11,"new_u64_fast_field_with_idx","","Start serializing a new u64 fast field",100,{"inputs":[{"name":"self"},{"name":"field"},{"name":"u64"},{"name":"u64"},{"name":"usize"}],"output":{"generics":["fastsinglefieldserializer"],"name":"result"}}],[11,"close","","Closes the serializer",100,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"fmt","","",101,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"new","","Creates a `FastFieldNotAvailable` error. `field_entry` is the configuration of the field for which fast fields are not available.",101,{"inputs":[{"name":"fieldentry"}],"output":{"name":"fastfieldnotavailableerror"}}],[11,"clone","","",102,{"inputs":[{"name":"self"}],"output":{"name":"deletebitset"}}],[11,"open","","Opens a delete bitset given its data source.",102,{"inputs":[{"name":"readonlysource"}],"output":{"name":"deletebitset"}}],[11,"empty","","Returns an empty delete bit set.",102,{"inputs":[],"output":{"name":"deletebitset"}}],[11,"has_deletes","","Returns true iff the segment has some deleted documents.",102,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"is_deleted","","Returns true iff the document is deleted.",102,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"bool"}}],[11,"len","","",102,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"new","","Creates a new `FacetReader`.",103,{"inputs":[{"generics":["u64"],"name":"multivalueintfastfieldreader"},{"name":"termdictionaryimpl"}],"output":{"name":"facetreader"}}],[11,"num_facets","","Returns the size of the sets of facets in the segment. This does not take in account the documents that may be marked as deleted.",103,{"inputs":[{"name":"self"}],"output":{"name":"usize"}}],[11,"facet_dict","","Accessor for the facet term dictionary.",103,{"inputs":[{"name":"self"}],"output":{"name":"termdictionaryimpl"}}],[11,"facet_from_ord","","Given a term ordinal returns the term associated to it.",103,{"inputs":[{"name":"self"},{"name":"termordinal"},{"name":"facet"}],"output":null}],[11,"facet_ords","","Return the list of facet ordinals associated to a document.",103,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"vec"}],"output":null}],[11,"clone","","",104,{"inputs":[{"name":"self"}],"output":{"name":"multivalueintfastfieldreader"}}],[11,"get_vals","","Returns the array of values associated to the given `doc`.",104,{"inputs":[{"name":"self"},{"name":"docid"},{"name":"vec"}],"output":null}],[6,"Result","","Result when trying to access a fast field reader.",null,null],[8,"FastValue","","Trait for types that are allowed for fast fields: (u64 or i64).",null,null],[10,"from_u64","","Converts a value from u64",105,{"inputs":[{"name":"u64"}],"output":{"name":"self"}}],[10,"to_u64","","Converts a value to u64.",105,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[10,"fast_field_cardinality","","Returns the fast field cardinality that can be extracted from the given `FieldType`.",105,{"inputs":[{"name":"fieldtype"}],"output":{"generics":["cardinality"],"name":"option"}}],[10,"as_u64","","Cast value to `u64`. The value is just reinterpreted in memory.",105,{"inputs":[{"name":"self"}],"output":{"name":"u64"}}],[11,"eq","tantivy","",3,{"inputs":[{"name":"self"},{"name":"skipresult"}],"output":{"name":"bool"}}],[11,"fmt","","",3,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[0,"merge_policy","","Defines tantivy's merging strategy",null,null],[3,"LogMergePolicy","tantivy::merge_policy","`LogMergePolicy` tries tries to merge segments that have a similar number of documents.",null,null],[3,"NoMergePolicy","","Never merge segments.",null,null],[6,"DefaultMergePolicy","","Alias for the default merge policy, which is the `LogMergePolicy`.",null,null],[8,"MergePolicy","","The `MergePolicy` defines which segments should be merged.",null,null],[10,"compute_merge_candidates","","Given the list of segment metas, returns the list of merge candidates.",106,null],[10,"box_clone","","Returns a boxed clone of the MergePolicy.",106,{"inputs":[{"name":"self"}],"output":{"generics":["mergepolicy"],"name":"box"}}],[6,"Result","tantivy","Tantivy result.",null,null],[6,"DocId","","A `u32` identifying a document within a segment. Documents have their `DocId` assigned incrementally, as they are added in the segment.",null,null],[6,"Score","","A f32 that represents the relevance of the document to the query",null,null],[6,"SegmentLocalId","","A `SegmentLocalId` identifies a segment. It only makes sense for a given searcher.",null,null],[8,"ResultExt","","Additional methods for `Result`, for easy interaction with this crate.",null,null],[10,"chain_err","","If the `Result` is an `Err` then `chain_err` evaluates the closure, which returns some type that can be converted to `ErrorKind`, boxes the original error to store as the cause, then returns a new error containing the original error.",107,{"inputs":[{"name":"self"},{"name":"f"}],"output":{"generics":["error"],"name":"result"}}],[8,"DocSet","","Represents an iterable set of sorted doc ids.",null,null],[10,"advance","","Goes to the next element. `.advance(...)` needs to be called a first time to point to the correct element.",108,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"skip_next","","After skipping, position the iterator in such a way that `.doc()` will return a value greater than or equal to target.",108,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"fill_buffer","","Fills a given mutable buffer with the next doc ids from the `DocSet`",108,null],[10,"doc","","Returns the current document",108,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[10,"size_hint","","Returns a best-effort hint of the length of the docset.",108,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[11,"append_to_bitset","","Appends all docs to a `bitset`.",108,{"inputs":[{"name":"self"},{"name":"bitset"}],"output":null}],[11,"count","","Returns the number documents matching.",108,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[8,"Directory","","Write-once read many (WORM) abstraction for where tantivy's data should be stored.",null,null],[10,"open_read","","Opens a virtual file for read.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["readonlysource","openreaderror"],"name":"result"}}],[10,"delete","","Removes a file",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["deleteerror"],"name":"result"}}],[10,"exists","","Returns true iff the file exists",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"name":"bool"}}],[10,"open_write","","Opens a writer for the virtual file associated with a Path.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["writeptr","openwriteerror"],"name":"result"}}],[10,"atomic_read","","Reads the full content file that has been written using atomic_write.",67,{"inputs":[{"name":"self"},{"name":"path"}],"output":{"generics":["vec","openreaderror"],"name":"result"}}],[10,"atomic_write","","Atomically replace the content of a file with data.",67,null],[10,"box_clone","","Clones the directory and boxes the clone",67,{"inputs":[{"name":"self"}],"output":{"generics":["directory"],"name":"box"}}],[8,"Postings","","Postings (also called inverted list)",null,null],[10,"term_freq","","Returns the term frequency",78,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}],[10,"positions","","Returns the list of positions of the term, expressed as a list of token ordinals.",78,null],[11,"segment_ord","","Return the segment ordinal. The segment ordinal is an id identifying the segment hosting the document. It is only meaningful, in the context of a searcher.",1,{"inputs":[{"name":"self"}],"output":{"name":"segmentlocalid"}}],[11,"doc","","Return the segment local `DocId`",1,{"inputs":[{"name":"self"}],"output":{"name":"docid"}}],[11,"fmt","","",1,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",1,{"inputs":[{"name":"self"}],"output":{"name":"docaddress"}}],[11,"eq","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"ne","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"partial_cmp","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"generics":["ordering"],"name":"option"}}],[11,"lt","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"le","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"gt","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"ge","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"bool"}}],[11,"cmp","","",1,{"inputs":[{"name":"self"},{"name":"docaddress"}],"output":{"name":"ordering"}}],[14,"doc","","`doc!` is a shortcut that helps building `Document` objects.",null,null],[11,"fmt","tantivy::merge_policy","",109,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"default","","",109,{"inputs":[],"output":{"name":"nomergepolicy"}}],[11,"compute_merge_candidates","","",109,null],[11,"box_clone","","",109,{"inputs":[{"name":"self"}],"output":{"generics":["mergepolicy"],"name":"box"}}],[11,"fmt","","",110,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",110,{"inputs":[{"name":"self"}],"output":{"name":"logmergepolicy"}}],[11,"set_min_merge_size","","Set the minimum number of segment that may be merge together.",110,{"inputs":[{"name":"self"},{"name":"usize"}],"output":null}],[11,"set_min_layer_size","","Set the minimum segment size under which all segment belong to the same level.",110,{"inputs":[{"name":"self"},{"name":"u32"}],"output":null}],[11,"set_level_log_size","","Set the ratio between two consecutive levels.",110,{"inputs":[{"name":"self"},{"name":"f64"}],"output":null}],[11,"compute_merge_candidates","","",110,null],[11,"box_clone","","",110,{"inputs":[{"name":"self"}],"output":{"generics":["mergepolicy"],"name":"box"}}],[11,"default","","",110,{"inputs":[],"output":{"name":"logmergepolicy"}}],[11,"is_empty","tantivy::postings","Returns true iff empty.",79,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"filter","tantivy::tokenizer","Appends a token filter to the current tokenizer.",26,{"inputs":[{"name":"self"},{"name":"newfilter"}],"output":{"name":"chaintokenizer"}}],[11,"next","","Helper to iterate over tokens. It simply combines a call to `.advance()` and `.token()`.",25,{"inputs":[{"name":"self"}],"output":{"generics":["token"],"name":"option"}}],[11,"process","","Helper function to consume the entire `TokenStream` and push the tokens to a sink function.",25,{"inputs":[{"name":"self"},{"name":"fnmut"}],"output":{"name":"u32"}}],[11,"count","tantivy::query","Returns the number of documents matching the query.",56,{"inputs":[{"name":"self"},{"name":"searcher"}],"output":{"generics":["usize"],"name":"result"}}],[11,"search","","Search works as follows :",56,{"inputs":[{"name":"self"},{"name":"searcher"},{"name":"collector"}],"output":{"generics":["timertree"],"name":"result"}}],[11,"is","","",57,{"inputs":[{"name":"self"}],"output":{"name":"bool"}}],[11,"downcast_ref_unchecked","","",57,{"inputs":[{"name":"self"}],"output":{"name":"_t"}}],[11,"downcast_ref","","",57,{"inputs":[{"name":"self"}],"output":{"generics":["typemismatch"],"name":"result"}}],[11,"downcast_mut_unchecked","","",57,{"inputs":[{"name":"self"}],"output":{"name":"_t"}}],[11,"downcast_mut","","",57,{"inputs":[{"name":"self"}],"output":{"generics":["typemismatch"],"name":"result"}}],[11,"downcast_unchecked","","",57,{"inputs":[{"name":"box"}],"output":{"name":"box"}}],[11,"downcast","","",57,{"inputs":[{"name":"box"}],"output":{"generics":["box","downcasterror"],"name":"result"}}],[11,"collect","","Consumes the complete `DocSet` and push the scored documents to the collector.",57,{"inputs":[{"name":"self"},{"name":"collector"}],"output":null}],[11,"count","","Returns the number documents within the given `SegmentReader`.",58,{"inputs":[{"name":"self"},{"name":"segmentreader"}],"output":{"generics":["u32"],"name":"result"}}],[11,"skip_next","tantivy","After skipping, position the iterator in such a way that `.doc()` will return a value greater than or equal to target.",108,{"inputs":[{"name":"self"},{"name":"docid"}],"output":{"name":"skipresult"}}],[11,"fill_buffer","","Fills a given mutable buffer with the next doc ids from the `DocSet`",108,null],[11,"append_to_bitset","","Appends all docs to a `bitset`.",108,{"inputs":[{"name":"self"},{"name":"bitset"}],"output":null}],[11,"count","","Returns the number documents matching.",108,{"inputs":[{"name":"self"}],"output":{"name":"u32"}}]],"paths":[[3,"Error"],[3,"DocAddress"],[4,"ErrorKind"],[4,"SkipResult"],[4,"SegmentComponent"],[3,"Searcher"],[3,"Index"],[3,"SegmentReader"],[3,"SegmentId"],[3,"Segment"],[3,"SegmentMeta"],[3,"InvertedIndexReader"],[3,"IndexWriter"],[3,"TimerTree"],[3,"Token"],[3,"SimpleTokenizer"],[3,"LowerCaser"],[3,"RemoveLongFilter"],[3,"Stemmer"],[3,"FacetTokenizer"],[3,"TokenizerManager"],[3,"JapaneseTokenizer"],[3,"RawTokenizer"],[3,"AlphaNumOnlyFilter"],[8,"TokenFilter"],[8,"TokenStream"],[8,"Tokenizer"],[8,"BoxedTokenizer"],[3,"TermDictionaryBuilderImpl"],[3,"TermDictionaryImpl"],[3,"TermStreamerBuilderImpl"],[3,"TermStreamerImpl"],[3,"TermMerger"],[8,"TermDictionary"],[8,"TermDictionaryBuilder"],[8,"TermStreamer"],[8,"TermStreamerBuilder"],[3,"StoreReader"],[3,"StoreWriter"],[4,"Occur"],[4,"QueryParserError"],[3,"BooleanQuery"],[3,"EmptyScorer"],[3,"ConstScorer"],[3,"TermQuery"],[3,"QueryParser"],[3,"PhraseQuery"],[3,"AllQuery"],[3,"AllWeight"],[3,"AllScorer"],[3,"BitSetDocSet"],[3,"RangeQuery"],[3,"Exclude"],[3,"Union"],[3,"Intersection"],[3,"RequiredOptionalScorer"],[8,"Query"],[8,"Scorer"],[8,"Weight"],[4,"ReadOnlySource"],[3,"MmapDirectory"],[3,"RAMDirectory"],[4,"OpenDirectoryError"],[4,"OpenWriteError"],[4,"OpenReadError"],[4,"DeleteError"],[3,"IOError"],[8,"Directory"],[3,"CountCollector"],[3,"MultiCollector"],[3,"TopCollector"],[3,"FacetCollector"],[8,"Collector"],[3,"TermInfo"],[3,"InvertedIndexSerializer"],[3,"FieldSerializer"],[3,"SegmentPostings"],[3,"BlockSegmentPostings"],[8,"Postings"],[8,"HasLen"],[3,"NamedFieldDocument"],[3,"Field"],[4,"Value"],[4,"DocParsingError"],[4,"FieldType"],[4,"IndexRecordOption"],[4,"Cardinality"],[3,"SchemaBuilder"],[3,"Schema"],[3,"Term"],[3,"Document"],[3,"Facet"],[3,"FieldEntry"],[3,"FieldValue"],[3,"TextOptions"],[3,"TextFieldIndexing"],[3,"IntOptions"],[3,"FastFieldReader"],[3,"FastFieldsWriter"],[3,"IntFastFieldWriter"],[3,"FastFieldSerializer"],[3,"FastFieldNotAvailableError"],[3,"DeleteBitSet"],[3,"FacetReader"],[3,"MultiValueIntFastFieldReader"],[8,"FastValue"],[8,"MergePolicy"],[8,"ResultExt"],[8,"DocSet"],[3,"NoMergePolicy"],[3,"LogMergePolicy"]]}; searchIndex["tempdir"] = {"doc":"Temporary directories of files.","items":[[3,"TempDir","tempdir","A directory in the filesystem that is automatically deleted when it goes out of scope.",null,null],[11,"new","","Attempts to make a temporary directory inside of `env::temp_dir()` whose name will have the prefix, `prefix`. The directory and everything inside it will be automatically deleted once the returned `TempDir` is destroyed.",0,{"inputs":[{"name":"str"}],"output":{"generics":["tempdir"],"name":"result"}}],[11,"new_in","","Attempts to make a temporary directory inside of `tmpdir` whose name will have the prefix `prefix`. The directory and everything inside it will be automatically deleted once the returned `TempDir` is destroyed.",0,{"inputs":[{"name":"p"},{"name":"str"}],"output":{"generics":["tempdir"],"name":"result"}}],[11,"path","","Accesses the [`Path`] to the temporary directory.",0,{"inputs":[{"name":"self"}],"output":{"name":"path"}}],[11,"into_path","","Unwraps the [`Path`] contained in the `TempDir` and returns it. This destroys the `TempDir` without deleting the directory represented by the returned `Path`.",0,{"inputs":[{"name":"self"}],"output":{"name":"pathbuf"}}],[11,"close","","Closes and removes the temporary directory, returing a `Result`.",0,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"as_ref","","",0,{"inputs":[{"name":"self"}],"output":{"name":"path"}}],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"drop","","",0,{"inputs":[{"name":"self"}],"output":null}]],"paths":[[3,"TempDir"]]}; searchIndex["tempfile"] = {"doc":"Securely create and manage temporary files. Temporary files created by this create are automatically deleted.","items":[[3,"NamedTempFile","tempfile","A named temporary file.",null,null],[3,"NamedTempFileOptions","","Create a new temporary file with custom parameters.",null,null],[3,"PersistError","","Error returned when persisting a temporary file fails",null,null],[12,"error","","The underlying IO error.",0,null],[12,"file","","The temporary file that couldn't be persisted.",0,null],[5,"tempfile","","Create an unnamed temporary file.",null,{"inputs":[],"output":{"generics":["file"],"name":"result"}}],[5,"tempfile_in","","Create an unnamed temporary file in the specified directory.",null,{"inputs":[{"name":"p"}],"output":{"generics":["file"],"name":"result"}}],[11,"as_ref","","",1,{"inputs":[{"name":"self"}],"output":{"name":"file"}}],[11,"as_mut","","",1,{"inputs":[{"name":"self"}],"output":{"name":"file"}}],[11,"fmt","","",1,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"deref","","",1,{"inputs":[{"name":"self"}],"output":{"name":"file"}}],[11,"deref_mut","","",1,{"inputs":[{"name":"self"}],"output":{"name":"file"}}],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"from","","",1,{"inputs":[{"name":"persisterror"}],"output":{"name":"namedtempfile"}}],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"description","","",0,{"inputs":[{"name":"self"}],"output":{"name":"str"}}],[11,"cause","","",0,{"inputs":[{"name":"self"}],"output":{"generics":["error"],"name":"option"}}],[11,"new","","Create a new temporary file.",1,{"inputs":[],"output":{"generics":["namedtempfile"],"name":"result"}}],[11,"new_in","","Create a new temporary file in the specified directory.",1,{"inputs":[{"name":"p"}],"output":{"generics":["namedtempfile"],"name":"result"}}],[11,"path","","Get the temporary file's path.",1,{"inputs":[{"name":"self"}],"output":{"name":"path"}}],[11,"close","","Close and remove the temporary file.",1,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"persist","","Persist the temporary file at the target path.",1,{"inputs":[{"name":"self"},{"name":"p"}],"output":{"generics":["file","persisterror"],"name":"result"}}],[11,"persist_noclobber","","Persist the temporary file at the target path iff no file exists there.",1,{"inputs":[{"name":"self"},{"name":"p"}],"output":{"generics":["file","persisterror"],"name":"result"}}],[11,"reopen","","Reopen the temporary file.",1,{"inputs":[{"name":"self"}],"output":{"generics":["file"],"name":"result"}}],[11,"drop","","",1,{"inputs":[{"name":"self"}],"output":null}],[11,"read","","",1,null],[11,"write","","",1,null],[11,"flush","","",1,{"inputs":[{"name":"self"}],"output":{"name":"result"}}],[11,"seek","","",1,{"inputs":[{"name":"self"},{"name":"seekfrom"}],"output":{"generics":["u64"],"name":"result"}}],[11,"as_raw_fd","","",1,{"inputs":[{"name":"self"}],"output":{"name":"rawfd"}}],[11,"fmt","","",2,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"clone","","",2,{"inputs":[{"name":"self"}],"output":{"name":"namedtempfileoptions"}}],[11,"eq","","",2,{"inputs":[{"name":"self"},{"name":"namedtempfileoptions"}],"output":{"name":"bool"}}],[11,"ne","","",2,{"inputs":[{"name":"self"},{"name":"namedtempfileoptions"}],"output":{"name":"bool"}}],[11,"new","","Create a new NamedTempFileOptions",2,{"inputs":[],"output":{"name":"self"}}],[11,"prefix","","Set a custom filename prefix.",2,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"self"}}],[11,"suffix","","Set a custom filename suffix.",2,{"inputs":[{"name":"self"},{"name":"str"}],"output":{"name":"self"}}],[11,"rand_bytes","","Set the number of random bytes.",2,{"inputs":[{"name":"self"},{"name":"usize"}],"output":{"name":"self"}}],[11,"create","","Create the named temporary file.",2,{"inputs":[{"name":"self"}],"output":{"generics":["namedtempfile"],"name":"result"}}],[11,"create_in","","Create the named temporary file in the specified directory.",2,{"inputs":[{"name":"self"},{"name":"p"}],"output":{"generics":["namedtempfile"],"name":"result"}}]],"paths":[[3,"PersistError"],[3,"NamedTempFile"],[3,"NamedTempFileOptions"]]}; searchIndex["thread_local"] = {"doc":"Per-object thread-local storage","items":[[3,"ThreadLocal","thread_local","Thread-local variable wrapper",null,null],[3,"IterMut","","Mutable iterator over the contents of a `ThreadLocal`.",null,null],[3,"IntoIter","","An iterator that moves out of a `ThreadLocal`.",null,null],[3,"CachedThreadLocal","","Wrapper around `ThreadLocal` which adds a fast path for a single thread.",null,null],[6,"CachedIterMut","","Mutable iterator over the contents of a `CachedThreadLocal`.",null,null],[6,"CachedIntoIter","","An iterator that moves out of a `CachedThreadLocal`.",null,null],[11,"default","","",0,{"inputs":[],"output":{"name":"threadlocal"}}],[11,"drop","","",0,{"inputs":[{"name":"self"}],"output":null}],[11,"new","","Creates a new empty `ThreadLocal`.",0,{"inputs":[],"output":{"name":"threadlocal"}}],[11,"get","","Returns the element for the current thread, if it exists.",0,{"inputs":[{"name":"self"}],"output":{"name":"option"}}],[11,"get_or","","Returns the element for the current thread, or creates it if it doesn't exist.",0,{"inputs":[{"name":"self"},{"name":"f"}],"output":{"name":"t"}}],[11,"get_or_try","","Returns the element for the current thread, or creates it if it doesn't exist. If `create` fails, that error is returned and no element is added.",0,{"inputs":[{"name":"self"},{"name":"f"}],"output":{"name":"result"}}],[11,"iter_mut","","Returns a mutable iterator over the local values of all threads.",0,{"inputs":[{"name":"self"}],"output":{"name":"itermut"}}],[11,"clear","","Removes all thread-specific values from the `ThreadLocal`, effectively reseting it to its original state.",0,{"inputs":[{"name":"self"}],"output":null}],[11,"into_iter","","",0,{"inputs":[{"name":"self"}],"output":{"name":"intoiter"}}],[11,"get_default","","Returns the element for the current thread, or creates a default one if it doesn't exist.",0,{"inputs":[{"name":"self"}],"output":{"name":"t"}}],[11,"fmt","","",0,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}],[11,"next","","",1,{"inputs":[{"name":"self"}],"output":{"generics":["box"],"name":"option"}}],[11,"size_hint","","",1,null],[11,"next","","",2,{"inputs":[{"name":"self"}],"output":{"generics":["box"],"name":"option"}}],[11,"size_hint","","",2,null],[11,"default","","",3,{"inputs":[],"output":{"name":"cachedthreadlocal"}}],[11,"new","","Creates a new empty `CachedThreadLocal`.",3,{"inputs":[],"output":{"name":"cachedthreadlocal"}}],[11,"get","","Returns the element for the current thread, if it exists.",3,{"inputs":[{"name":"self"}],"output":{"name":"option"}}],[11,"get_or","","Returns the element for the current thread, or creates it if it doesn't exist.",3,{"inputs":[{"name":"self"},{"name":"f"}],"output":{"name":"t"}}],[11,"get_or_try","","Returns the element for the current thread, or creates it if it doesn't exist. If `create` fails, that error is returned and no element is added.",3,{"inputs":[{"name":"self"},{"name":"f"}],"output":{"name":"result"}}],[11,"iter_mut","","Returns a mutable iterator over the local values of all threads.",3,{"inputs":[{"name":"self"}],"output":{"name":"cacheditermut"}}],[11,"clear","","Removes all thread-specific values from the `ThreadLocal`, effectively reseting it to its original state.",3,{"inputs":[{"name":"self"}],"output":null}],[11,"into_iter","","",3,{"inputs":[{"name":"self"}],"output":{"name":"cachedintoiter"}}],[11,"get_default","","Returns the element for the current thread, or creates a default one if it doesn't exist.",3,{"inputs":[{"name":"self"}],"output":{"name":"t"}}],[11,"fmt","","",3,{"inputs":[{"name":"self"},{"name":"formatter"}],"output":{"name":"result"}}]],"paths":[[3,"ThreadLocal"],[3,"IterMut"],[3,"IntoIter"],[3,"CachedThreadLocal"]]}; diff --git a/master/src/tantivy/collector/mod.rs.html b/master/src/tantivy/collector/mod.rs.html index e6263d46b..8cc19b04b 100644 --- a/master/src/tantivy/collector/mod.rs.html +++ b/master/src/tantivy/collector/mod.rs.html @@ -247,7 +247,6 @@ 191 192 193 -194
 /*!
 Defines how the documents matching a search query should be processed.
@@ -345,7 +344,6 @@ Defines how the documents matching a search query should be processed.
     use Score;
     use core::SegmentReader;
     use SegmentLocalId;
-    use fastfield::U64FastFieldReader;
     use fastfield::FastFieldReader;
     use schema::Field;
 
@@ -399,7 +397,7 @@ Defines how the documents matching a search query should be processed.
     pub struct FastFieldTestCollector {
         vals: Vec<u64>,
         field: Field,
-        ff_reader: Option<U64FastFieldReader>,
+        ff_reader: Option<FastFieldReader<u64>>,
     }
 
     impl FastFieldTestCollector {
@@ -418,7 +416,7 @@ Defines how the documents matching a search query should be processed.
 
     impl Collector for FastFieldTestCollector {
         fn set_segment(&mut self, _: SegmentLocalId, reader: &SegmentReader) -> Result<()> {
-            self.ff_reader = Some(reader.get_fast_field_reader(self.field)?);
+            self.ff_reader = Some(reader.fast_field_reader(self.field)?);
             Ok(())
         }
 
diff --git a/master/src/tantivy/common/bitpacker.rs.html b/master/src/tantivy/common/bitpacker.rs.html
index 1c4a4e054..f4931a202 100644
--- a/master/src/tantivy/common/bitpacker.rs.html
+++ b/master/src/tantivy/common/bitpacker.rs.html
@@ -250,6 +250,10 @@
 194
 195
 196
+197
+198
+199
+200
 
 use std::io::Write;
 use std::io;
@@ -342,7 +346,7 @@
 
     pub fn get(&self, idx: usize) -> u64 {
         if self.num_bits == 0 {
-            return 0;
+            return 0u64;
         }
         let data: &[u8] = &*self.data;
         let num_bits = self.num_bits;
@@ -360,7 +364,7 @@
             );
             let val_unshifted_unmasked: u64 = unsafe { *(data[addr..].as_ptr() as *const u64) };
             let val_shifted = (val_unshifted_unmasked >> bit_shift) as u64;
-            (val_shifted & mask)
+            val_shifted & mask
         } else {
             let val_unshifted_unmasked: u64 = if addr + 8 <= data.len() {
                 unsafe { *(data[addr..].as_ptr() as *const u64) }
@@ -372,14 +376,18 @@
                 unsafe { *(buffer[..].as_ptr() as *const u64) }
             };
             let val_shifted = val_unshifted_unmasked >> (bit_shift as u64);
-            (val_shifted & mask)
+            val_shifted & mask
         }
     }
 
+    /// Reads a range of values from the fast field.
+    ///
+    /// The range of values read is from
+    /// `[start..start + output.len()[`
     pub fn get_range(&self, start: u32, output: &mut [u64]) {
         if self.num_bits == 0 {
             for val in output.iter_mut() {
-                *val = 0;
+                *val = 0u64;
             }
         } else {
             let data: &[u8] = &*self.data;
diff --git a/master/src/tantivy/core/segment_reader.rs.html b/master/src/tantivy/core/segment_reader.rs.html
index 9338d7236..8876ebbb8 100644
--- a/master/src/tantivy/core/segment_reader.rs.html
+++ b/master/src/tantivy/core/segment_reader.rs.html
@@ -348,6 +348,12 @@
 292
 293
 294
+295
+296
+297
+298
+299
+300
 
 use Result;
 use core::Segment;
@@ -372,10 +378,11 @@
 use error::ErrorKind;
 use termdict::TermDictionaryImpl;
 use fastfield::FacetReader;
-use fastfield::{FastFieldReader, U64FastFieldReader};
+use fastfield::FastFieldReader;
 use schema::Schema;
 use termdict::TermDictionary;
-use fastfield::MultiValueIntFastFieldReader;
+use fastfield::{FastValue, MultiValueIntFastFieldReader};
+use schema::Cardinality;
 
 /// Entry point to access all of the datastructures of the `Segment`
 ///
@@ -442,18 +449,37 @@
     ///
     /// # Panics
     /// May panic if the index is corrupted.
-    pub fn get_fast_field_reader<TFastFieldReader: FastFieldReader>(
+    pub fn fast_field_reader<Item: FastValue>(
         &self,
         field: Field,
-    ) -> fastfield::Result<TFastFieldReader> {
+    ) -> fastfield::Result<FastFieldReader<Item>> {
         let field_entry = self.schema.get_field_entry(field);
-        if !TFastFieldReader::is_enabled(field_entry.field_type()) {
-            Err(FastFieldNotAvailableError::new(field_entry))
-        } else {
+        if Item::fast_field_cardinality(field_entry.field_type()) == Some(Cardinality::SingleValue) {
             self.fast_fields_composite
                 .open_read(field)
                 .ok_or_else(|| FastFieldNotAvailableError::new(field_entry))
-                .map(TFastFieldReader::open)
+                .map(FastFieldReader::open)
+        } else {
+            Err(FastFieldNotAvailableError::new(field_entry))
+        }
+    }
+
+    /// Accessor to the `MultiValueIntFastFieldReader` associated to a given `Field`.
+    /// May panick if the field is not a multivalued fastfield of the type `Item`.
+    pub fn multi_fast_field_reader<Item: FastValue>(&self, field: Field) -> fastfield::Result<MultiValueIntFastFieldReader<Item>> {
+        let field_entry = self.schema.get_field_entry(field);
+        if Item::fast_field_cardinality(field_entry.field_type()) == Some(Cardinality::MultiValues) {
+            let idx_reader = self.fast_fields_composite
+                .open_read_with_idx(field, 0)
+                .ok_or_else(|| FastFieldNotAvailableError::new(field_entry))
+                .map(FastFieldReader::open)?;
+            let vals_reader = self.fast_fields_composite
+                .open_read_with_idx(field, 1)
+                .ok_or_else(|| FastFieldNotAvailableError::new(field_entry))
+                .map(FastFieldReader::open)?;
+            Ok(MultiValueIntFastFieldReader::open(idx_reader, vals_reader))
+        } else {
+            Err(FastFieldNotAvailableError::new(field_entry))
         }
     }
 
@@ -467,7 +493,7 @@
                 field_entry
             )).into());
         }
-        let term_ords_reader = self.multi_value_reader(field)?;
+        let term_ords_reader = self.multi_fast_field_reader(field)?;
         let termdict_source = self.termdict_composite.open_read(field).ok_or_else(|| {
             ErrorKind::InvalidArgument(format!(
                 "The field \"{}\" is a hierarchical \
@@ -481,20 +507,6 @@
         Ok(facet_reader)
     }
 
-    /// Accessor to the `MultiValueIntFastFieldReader` associated to a given `Field`.
-    pub fn multi_value_reader(&self, field: Field) -> Result<MultiValueIntFastFieldReader> {
-        let field_entry = self.schema.get_field_entry(field);
-        let idx_reader = self.fast_fields_composite
-            .open_read_with_idx(field, 0)
-            .ok_or_else(|| FastFieldNotAvailableError::new(field_entry))
-            .map(U64FastFieldReader::open)?;
-        let vals_reader = self.fast_fields_composite
-            .open_read_with_idx(field, 1)
-            .ok_or_else(|| FastFieldNotAvailableError::new(field_entry))
-            .map(U64FastFieldReader::open)?;
-        Ok(MultiValueIntFastFieldReader::open(idx_reader, vals_reader))
-    }
-
     /// Accessor to the segment's `Field norms`'s reader.
     ///
     /// Field norms are the length (in tokens) of the fields.
@@ -503,10 +515,10 @@
     ///
     /// They are simply stored as a fast field, serialized in
     /// the `.fieldnorm` file of the segment.
-    pub fn get_fieldnorms_reader(&self, field: Field) -> Option<U64FastFieldReader> {
+    pub fn get_fieldnorms_reader(&self, field: Field) -> Option<FastFieldReader<u64>> {
         self.fieldnorms_composite
             .open_read(field)
-            .map(U64FastFieldReader::open)
+            .map(FastFieldReader::open)
     }
 
     /// Accessor to the segment's `StoreReader`.
diff --git a/master/src/tantivy/datastruct/stacker/hashmap.rs.html b/master/src/tantivy/datastruct/stacker/hashmap.rs.html
index 27bb31871..ffcbdd7db 100644
--- a/master/src/tantivy/datastruct/stacker/hashmap.rs.html
+++ b/master/src/tantivy/datastruct/stacker/hashmap.rs.html
@@ -553,11 +553,11 @@
                 let (addr, val): (u32, &mut V) = self.heap.allocate_object();
                 assert_eq!(addr, key_bytes_ref.addr() + 2 + key_bytes.len() as u32);
                 self.set_bucket(hash, key_bytes_ref, bucket);
-                return (bucket, val);
+                return (bucket as UnorderedTermId, val);
             } else if kv.hash == hash {
                 let (stored_key, expull_addr): (&[u8], u32) = self.get_key_value(kv.key_value_addr);
                 if stored_key == key_bytes {
-                    return (bucket, self.heap.get_mut_ref(expull_addr));
+                    return (bucket as UnorderedTermId, self.heap.get_mut_ref(expull_addr));
                 }
             }
         }
diff --git a/master/src/tantivy/fastfield/facet_reader.rs.html b/master/src/tantivy/fastfield/facet_reader.rs.html
index 83c6f5027..d04ce2ebb 100644
--- a/master/src/tantivy/fastfield/facet_reader.rs.html
+++ b/master/src/tantivy/fastfield/facet_reader.rs.html
@@ -143,7 +143,7 @@
 /// list of facets. This ordinal is segment local and
 /// only makes sense for a given segment.
 pub struct FacetReader {
-    term_ords: MultiValueIntFastFieldReader,
+    term_ords: MultiValueIntFastFieldReader<u64>,
     term_dict: TermDictionaryImpl,
 }
 
@@ -156,12 +156,12 @@
     /// - a `TermDictionaryImpl` that helps associating a facet to
     /// an ordinal and vice versa.
     pub fn new(
-        term_ords: MultiValueIntFastFieldReader,
+        term_ords: MultiValueIntFastFieldReader<u64>,
         term_dict: TermDictionaryImpl,
     ) -> FacetReader {
         FacetReader {
-            term_ords: term_ords,
-            term_dict: term_dict,
+            term_ords,
+            term_dict
         }
     }
 
diff --git a/master/src/tantivy/fastfield/mod.rs.html b/master/src/tantivy/fastfield/mod.rs.html
index 8e3581341..ddf92a229 100644
--- a/master/src/tantivy/fastfield/mod.rs.html
+++ b/master/src/tantivy/fastfield/mod.rs.html
@@ -492,6 +492,79 @@
 436
 437
 438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
 
 /*!
 Column oriented field storage for tantivy.
@@ -518,6 +591,19 @@ values stored.
 Read access performance is comparable to that of an array lookup.
 */
 
+use common;
+use schema::Cardinality;
+use schema::FieldType;
+use schema::Value;
+pub use self::delete::DeleteBitSet;
+pub use self::delete::write_delete_bitset;
+pub use self::error::{FastFieldNotAvailableError, Result};
+pub use self::facet_reader::FacetReader;
+pub use self::multivalued::MultiValueIntFastFieldReader;
+pub use self::reader::FastFieldReader;
+pub use self::serializer::FastFieldSerializer;
+pub use self::writer::{FastFieldsWriter, IntFastFieldWriter};
+
 mod reader;
 mod writer;
 mod serializer;
@@ -526,33 +612,104 @@ Read access performance is comparable to that of an array lookup.
 mod facet_reader;
 mod multivalued;
 
-pub use self::delete::write_delete_bitset;
-pub use self::delete::DeleteBitSet;
-pub use self::writer::{FastFieldsWriter, IntFastFieldWriter};
-pub use self::reader::{I64FastFieldReader, U64FastFieldReader};
-pub use self::reader::FastFieldReader;
-pub use self::serializer::FastFieldSerializer;
-pub use self::error::{FastFieldNotAvailableError, Result};
-pub use self::facet_reader::FacetReader;
-pub use self::multivalued::MultiValueIntFastFieldReader;
+/// Trait for types that are allowed for fast fields: (u64 or i64).
+pub trait FastValue: Default + Clone + Copy {
+    /// Converts a value from u64
+    ///
+    /// Internally all fast field values are encoded as u64.
+    fn from_u64(val: u64) -> Self;
+
+    /// Converts a value to u64.
+    ///
+    /// Internally all fast field values are encoded as u64.
+    fn to_u64(&self) -> u64;
+
+    /// Returns the fast field cardinality that can be extracted from the given
+    /// `FieldType`.
+    ///
+    /// If the type is not a fast field, `None` is returned.
+    fn fast_field_cardinality(field_type: &FieldType) -> Option<Cardinality>;
+
+    /// Cast value to `u64`.
+    /// The value is just reinterpreted in memory.
+    fn as_u64(&self) -> u64;
+}
+
+
+impl FastValue for u64 {
+    fn from_u64(val: u64) -> Self {
+        val
+    }
+
+    fn to_u64(&self) -> u64 {
+        *self
+    }
+
+    fn as_u64(&self) -> u64 {
+        *self
+    }
+
+    fn fast_field_cardinality(field_type: &FieldType) -> Option<Cardinality> {
+        match *field_type {
+            FieldType::U64(ref integer_options) =>
+                integer_options.get_fastfield_cardinality(),
+            FieldType::HierarchicalFacet =>
+                Some(Cardinality::MultiValues),
+            _ => None,
+        }
+    }
+}
+
+impl FastValue for i64 {
+    fn from_u64(val: u64) -> Self {
+        common::u64_to_i64(val)
+    }
+
+    fn to_u64(&self) -> u64 {
+        common::i64_to_u64(*self)
+    }
+
+
+    fn fast_field_cardinality(field_type: &FieldType) -> Option<Cardinality> {
+        match *field_type {
+            FieldType::I64(ref integer_options) =>
+                integer_options.get_fastfield_cardinality(),
+            _ => None,
+        }
+    }
+
+    fn as_u64(&self) -> u64 {
+        *self as u64
+    }
+}
+
+fn value_to_u64(value: &Value) -> u64 {
+    match *value {
+        Value::U64(ref val) => *val,
+        Value::I64(ref val) => common::i64_to_u64(*val),
+        _ => panic!("Expected a u64/i64 field, got {:?} ", value),
+    }
+}
+
 
 #[cfg(test)]
 mod tests {
-    use super::*;
-    use schema::Field;
-    use std::path::Path;
+
+    use common::CompositeFile;
     use directory::{Directory, RAMDirectory, WritePtr};
-    use schema::Document;
-    use schema::{Schema, SchemaBuilder};
-    use schema::FAST;
-    use std::collections::HashMap;
-    use test::Bencher;
-    use test;
     use fastfield::FastFieldReader;
     use rand::Rng;
     use rand::SeedableRng;
-    use common::CompositeFile;
     use rand::XorShiftRng;
+    use schema::{Schema, SchemaBuilder};
+    use schema::Document;
+    use schema::FAST;
+    use schema::Field;
+    use std::collections::HashMap;
+    use std::path::Path;
+    use super::*;
+    use test;
+    use test::Bencher;
 
     lazy_static! {
         static ref SCHEMA: Schema = {
@@ -565,15 +722,9 @@ Read access performance is comparable to that of an array lookup.
         };
     }
 
-    fn add_single_field_doc(fast_field_writers: &mut FastFieldsWriter, field: Field, value: u64) {
-        let mut doc = Document::default();
-        doc.add_u64(field, value);
-        fast_field_writers.add_document(&doc);
-    }
-
     #[test]
     pub fn test_fastfield() {
-        let test_fastfield = U64FastFieldReader::from(vec![100, 200, 300]);
+        let test_fastfield = FastFieldReader::<u64>::from(vec![100, 200, 300]);
         assert_eq!(test_fastfield.get(0), 100);
         assert_eq!(test_fastfield.get(1), 200);
         assert_eq!(test_fastfield.get(2), 300);
@@ -587,9 +738,9 @@ Read access performance is comparable to that of an array lookup.
             let write: WritePtr = directory.open_write(Path::new("test")).unwrap();
             let mut serializer = FastFieldSerializer::from_write(write).unwrap();
             let mut fast_field_writers = FastFieldsWriter::from_schema(&SCHEMA);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 13u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 14u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 2u64);
+            fast_field_writers.add_document(&doc!(*FIELD=>13u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>14u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>2u64));
             fast_field_writers
                 .serialize(&mut serializer, &HashMap::new())
                 .unwrap();
@@ -602,7 +753,7 @@ Read access performance is comparable to that of an array lookup.
         {
             let composite_file = CompositeFile::open(&source).unwrap();
             let field_source = composite_file.open_read(*FIELD).unwrap();
-            let fast_field_reader: U64FastFieldReader = U64FastFieldReader::open(field_source);
+            let fast_field_reader = FastFieldReader::<u64>::open(field_source);
             assert_eq!(fast_field_reader.get(0), 13u64);
             assert_eq!(fast_field_reader.get(1), 14u64);
             assert_eq!(fast_field_reader.get(2), 2u64);
@@ -617,15 +768,15 @@ Read access performance is comparable to that of an array lookup.
             let write: WritePtr = directory.open_write(Path::new("test")).unwrap();
             let mut serializer = FastFieldSerializer::from_write(write).unwrap();
             let mut fast_field_writers = FastFieldsWriter::from_schema(&SCHEMA);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 4u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 14_082_001u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 3_052u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 9002u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 15_001u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 777u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 1_002u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 1_501u64);
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 215u64);
+            fast_field_writers.add_document(&doc!(*FIELD=>4u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>14_082_001u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>3_052u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>9_002u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>15_001u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>777u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>1_002u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>1_501u64));
+            fast_field_writers.add_document(&doc!(*FIELD=>215u64));
             fast_field_writers
                 .serialize(&mut serializer, &HashMap::new())
                 .unwrap();
@@ -637,8 +788,8 @@ Read access performance is comparable to that of an array lookup.
         }
         {
             let fast_fields_composite = CompositeFile::open(&source).unwrap();
-            let fast_field_reader: U64FastFieldReader =
-                U64FastFieldReader::open(fast_fields_composite.open_read(*FIELD).unwrap());
+            let data = fast_fields_composite.open_read(*FIELD).unwrap();
+            let fast_field_reader = FastFieldReader::<u64>::open(data);
             assert_eq!(fast_field_reader.get(0), 4u64);
             assert_eq!(fast_field_reader.get(1), 14_082_001u64);
             assert_eq!(fast_field_reader.get(2), 3_052u64);
@@ -661,7 +812,7 @@ Read access performance is comparable to that of an array lookup.
             let mut serializer = FastFieldSerializer::from_write(write).unwrap();
             let mut fast_field_writers = FastFieldsWriter::from_schema(&SCHEMA);
             for _ in 0..10_000 {
-                add_single_field_doc(&mut fast_field_writers, *FIELD, 100_000u64);
+                fast_field_writers.add_document(&doc!(*FIELD=>100_000u64));
             }
             fast_field_writers
                 .serialize(&mut serializer, &HashMap::new())
@@ -674,8 +825,8 @@ Read access performance is comparable to that of an array lookup.
         }
         {
             let fast_fields_composite = CompositeFile::open(&source).unwrap();
-            let fast_field_reader: U64FastFieldReader =
-                U64FastFieldReader::open(fast_fields_composite.open_read(*FIELD).unwrap());
+            let data = fast_fields_composite.open_read(*FIELD).unwrap();
+            let fast_field_reader = FastFieldReader::<u64>::open(data);
             for doc in 0..10_000 {
                 assert_eq!(fast_field_reader.get(doc), 100_000u64);
             }
@@ -692,13 +843,9 @@ Read access performance is comparable to that of an array lookup.
             let mut serializer = FastFieldSerializer::from_write(write).unwrap();
             let mut fast_field_writers = FastFieldsWriter::from_schema(&SCHEMA);
             // forcing the amplitude to be high
-            add_single_field_doc(&mut fast_field_writers, *FIELD, 0u64);
+            fast_field_writers.add_document(&doc!(*FIELD=>0u64));
             for i in 0u64..10_000u64 {
-                add_single_field_doc(
-                    &mut fast_field_writers,
-                    *FIELD,
-                    5_000_000_000_000_000_000u64 + i,
-                );
+                fast_field_writers.add_document(&doc!(*FIELD=>5_000_000_000_000_000_000u64 + i));
             }
             fast_field_writers
                 .serialize(&mut serializer, &HashMap::new())
@@ -711,9 +858,8 @@ Read access performance is comparable to that of an array lookup.
         }
         {
             let fast_fields_composite = CompositeFile::open(&source).unwrap();
-            let fast_field_reader: U64FastFieldReader =
-                U64FastFieldReader::open(fast_fields_composite.open_read(*FIELD).unwrap());
-
+            let data = fast_fields_composite.open_read(*FIELD).unwrap();
+            let fast_field_reader = FastFieldReader::<u64>::open(data);
             assert_eq!(fast_field_reader.get(0), 0u64);
             for doc in 1..10_001 {
                 assert_eq!(
@@ -752,8 +898,8 @@ Read access performance is comparable to that of an array lookup.
         }
         {
             let fast_fields_composite = CompositeFile::open(&source).unwrap();
-            let fast_field_reader: I64FastFieldReader =
-                I64FastFieldReader::open(fast_fields_composite.open_read(i64_field).unwrap());
+            let data = fast_fields_composite.open_read(i64_field).unwrap();
+            let fast_field_reader = FastFieldReader::<i64>::open(data);
 
             assert_eq!(fast_field_reader.min_value(), -100i64);
             assert_eq!(fast_field_reader.max_value(), 9_999i64);
@@ -791,8 +937,8 @@ Read access performance is comparable to that of an array lookup.
         let source = directory.open_read(&path).unwrap();
         {
             let fast_fields_composite = CompositeFile::open(&source).unwrap();
-            let fast_field_reader: I64FastFieldReader =
-                I64FastFieldReader::open(fast_fields_composite.open_read(i64_field).unwrap());
+            let data = fast_fields_composite.open_read(i64_field).unwrap();
+            let fast_field_reader = FastFieldReader::<i64>::open(data);
             assert_eq!(fast_field_reader.get(0u32), 0i64);
         }
     }
@@ -815,8 +961,8 @@ Read access performance is comparable to that of an array lookup.
             let write: WritePtr = directory.open_write(Path::new("test")).unwrap();
             let mut serializer = FastFieldSerializer::from_write(write).unwrap();
             let mut fast_field_writers = FastFieldsWriter::from_schema(&SCHEMA);
-            for x in &permutation {
-                add_single_field_doc(&mut fast_field_writers, *FIELD, *x);
+            for &x in &permutation {
+                fast_field_writers.add_document(&doc!(*FIELD=>x));
             }
             fast_field_writers
                 .serialize(&mut serializer, &HashMap::new())
@@ -826,8 +972,8 @@ Read access performance is comparable to that of an array lookup.
         let source = directory.open_read(&path).unwrap();
         {
             let fast_fields_composite = CompositeFile::open(&source).unwrap();
-            let fast_field_reader: U64FastFieldReader =
-                U64FastFieldReader::open(fast_fields_composite.open_read(*FIELD).unwrap());
+            let data = fast_fields_composite.open_read(*FIELD).unwrap();
+            let fast_field_reader = FastFieldReader::<u64>::open(data);
 
             let mut a = 0u64;
             for _ in 0..n {
@@ -872,8 +1018,8 @@ Read access performance is comparable to that of an array lookup.
             let write: WritePtr = directory.open_write(Path::new("test")).unwrap();
             let mut serializer = FastFieldSerializer::from_write(write).unwrap();
             let mut fast_field_writers = FastFieldsWriter::from_schema(&SCHEMA);
-            for x in &permutation {
-                add_single_field_doc(&mut fast_field_writers, *FIELD, *x);
+            for &x in &permutation {
+                fast_field_writers.add_document(&doc!(*FIELD=>x));
             }
             fast_field_writers
                 .serialize(&mut serializer, &HashMap::new())
@@ -883,8 +1029,8 @@ Read access performance is comparable to that of an array lookup.
         let source = directory.open_read(&path).unwrap();
         {
             let fast_fields_composite = CompositeFile::open(&source).unwrap();
-            let fast_field_reader: U64FastFieldReader =
-                U64FastFieldReader::open(fast_fields_composite.open_read(*FIELD).unwrap());
+            let data = fast_fields_composite.open_read(*FIELD).unwrap();
+            let fast_field_reader = FastFieldReader::<u64>::open(data);
 
             b.iter(|| {
                 let n = test::black_box(7000u32);
@@ -906,8 +1052,8 @@ Read access performance is comparable to that of an array lookup.
             let write: WritePtr = directory.open_write(Path::new("test")).unwrap();
             let mut serializer = FastFieldSerializer::from_write(write).unwrap();
             let mut fast_field_writers = FastFieldsWriter::from_schema(&SCHEMA);
-            for x in &permutation {
-                add_single_field_doc(&mut fast_field_writers, *FIELD, *x);
+            for &x in &permutation {
+                fast_field_writers.add_document(&doc!(*FIELD=>x));
             }
             fast_field_writers
                 .serialize(&mut serializer, &HashMap::new())
@@ -917,8 +1063,8 @@ Read access performance is comparable to that of an array lookup.
         let source = directory.open_read(&path).unwrap();
         {
             let fast_fields_composite = CompositeFile::open(&source).unwrap();
-            let fast_field_reader: U64FastFieldReader =
-                U64FastFieldReader::open(fast_fields_composite.open_read(*FIELD).unwrap());
+            let data = fast_fields_composite.open_read(*FIELD).unwrap();
+            let fast_field_reader = FastFieldReader::<u64>::open(data);
 
             b.iter(|| {
                 let n = test::black_box(1000u32);
diff --git a/master/src/tantivy/fastfield/multivalued/mod.rs.html b/master/src/tantivy/fastfield/multivalued/mod.rs.html
index b3a08893a..758795cb3 100644
--- a/master/src/tantivy/fastfield/multivalued/mod.rs.html
+++ b/master/src/tantivy/fastfield/multivalued/mod.rs.html
@@ -54,18 +54,185 @@
         
     
 
-    
1
-2
-3
-4
-5
+    
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
 
 mod writer;
 mod reader;
 
 pub use self::writer::MultiValueIntFastFieldWriter;
 pub use self::reader::MultiValueIntFastFieldReader;
-
+ +#[cfg(test)] +mod tests { + + use schema::SchemaBuilder; + use schema::Cardinality; + use schema::IntOptions; + use Index; + + #[test] + fn test_multivalued_u64() { + let mut schema_builder = SchemaBuilder::default(); + let field = schema_builder.add_u64_field( + "multifield", + IntOptions::default().set_fast(Cardinality::MultiValues) + ); + let schema = schema_builder.build(); + let index = Index::create_in_ram(schema); + let mut index_writer = index.writer_with_num_threads(1, 3_000_000).unwrap(); + index_writer.add_document(doc!(field=>1u64, field=>3u64)); + index_writer.add_document(doc!()); + index_writer.add_document(doc!(field=>4u64)); + index_writer.add_document(doc!(field=>5u64, field=>20u64,field=>1u64)); + assert!(index_writer.commit().is_ok()); + + index.load_searchers().unwrap(); + let searcher = index.searcher(); + let reader = searcher.segment_reader(0); + let mut vals = Vec::new(); + let multi_value_reader = reader.multi_fast_field_reader::<u64>(field).unwrap(); + { + multi_value_reader.get_vals(2, &mut vals); + assert_eq!(&vals, &[4u64]); + } + { + multi_value_reader.get_vals(0, &mut vals); + assert_eq!(&vals, &[1u64, 3u64]); + } + { + multi_value_reader.get_vals(1, &mut vals); + assert!(vals.is_empty()); + } + } + + + #[test] + fn test_multivalued_i64() { + let mut schema_builder = SchemaBuilder::default(); + let field = schema_builder.add_i64_field( + "multifield", + IntOptions::default().set_fast(Cardinality::MultiValues) + ); + let schema = schema_builder.build(); + let index = Index::create_in_ram(schema); + let mut index_writer = index.writer_with_num_threads(1, 3_000_000).unwrap(); + index_writer.add_document(doc!(field=> 1i64, field => 3i64)); + index_writer.add_document(doc!()); + index_writer.add_document(doc!(field=> -4i64)); + index_writer.add_document(doc!(field=> -5i64, field => -20i64, field=>1i64)); + assert!(index_writer.commit().is_ok()); + + index.load_searchers().unwrap(); + let searcher = index.searcher(); + let reader = searcher.segment_reader(0); + let mut vals = Vec::new(); + let multi_value_reader = reader.multi_fast_field_reader::<i64>(field).unwrap(); + { + multi_value_reader.get_vals(2, &mut vals); + assert_eq!(&vals, &[-4i64]); + } + { + multi_value_reader.get_vals(0, &mut vals); + assert_eq!(&vals, &[1i64, 3i64]); + } + { + multi_value_reader.get_vals(1, &mut vals); + assert!(vals.is_empty()); + } + { + multi_value_reader.get_vals(3, &mut vals); + assert_eq!(&vals, &[-5i64, -20i64, 1i64]); + } + } +}
diff --git a/master/src/tantivy/fastfield/multivalued/reader.rs.html b/master/src/tantivy/fastfield/multivalued/reader.rs.html index 43b4675ac..dcb5b1d7c 100644 --- a/master/src/tantivy/fastfield/multivalued/reader.rs.html +++ b/master/src/tantivy/fastfield/multivalued/reader.rs.html @@ -164,14 +164,10 @@ 108 109 110 -111 -112 -113
 use DocId;
-use fastfield::FastFieldReader;
+use fastfield::{FastFieldReader, FastValue};
 
-use fastfield::U64FastFieldReader;
 
 /// Reader for a multivalued `u64` fast field.
 ///
@@ -182,31 +178,29 @@
 /// The `idx_reader` associated, for each document, the index of its first value.
 ///
 #[derive(Clone)]
-pub struct MultiValueIntFastFieldReader {
-    idx_reader: U64FastFieldReader,
-    vals_reader: U64FastFieldReader,
+pub struct MultiValueIntFastFieldReader<Item: FastValue> {
+    idx_reader: FastFieldReader<u64>,
+    vals_reader: FastFieldReader<Item>
 }
 
-impl MultiValueIntFastFieldReader {
+impl<Item: FastValue> MultiValueIntFastFieldReader<Item> {
     pub(crate) fn open(
-        idx_reader: U64FastFieldReader,
-        vals_reader: U64FastFieldReader,
-    ) -> MultiValueIntFastFieldReader {
+        idx_reader: FastFieldReader<u64>,
+        vals_reader: FastFieldReader<Item>,
+    ) -> MultiValueIntFastFieldReader<Item> {
         MultiValueIntFastFieldReader {
-            idx_reader: idx_reader,
-            vals_reader: vals_reader,
+            idx_reader,
+            vals_reader
         }
     }
 
     /// Returns the array of values associated to the given `doc`.
-    pub fn get_vals(&self, doc: DocId, vals: &mut Vec<u64>) {
+    pub fn get_vals(&self, doc: DocId, vals: &mut Vec<Item>) {
         let start = self.idx_reader.get(doc) as u32;
         let stop = self.idx_reader.get(doc + 1) as u32;
-        vals.clear();
-        for val_id in start..stop {
-            let val = self.vals_reader.get(val_id);
-            vals.push(val);
-        }
+        let len = (stop - start) as usize;
+        vals.resize(len, Item::default());
+        self.vals_reader.get_range(start, &mut vals[..]);
     }
 }
 
diff --git a/master/src/tantivy/fastfield/multivalued/writer.rs.html b/master/src/tantivy/fastfield/multivalued/writer.rs.html
index e82c63d97..f056ba4f2 100644
--- a/master/src/tantivy/fastfield/multivalued/writer.rs.html
+++ b/master/src/tantivy/fastfield/multivalued/writer.rs.html
@@ -54,93 +54,141 @@
         
     
 
-    
 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
+    
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
 
 use fastfield::FastFieldSerializer;
+use fastfield::serializer::FastSingleFieldSerializer;
+use fastfield::value_to_u64;
 use std::collections::HashMap;
 use postings::UnorderedTermId;
-use schema::Field;
+use schema::{Document, Field};
 use std::io;
+use itertools::Itertools;
+
 
 pub struct MultiValueIntFastFieldWriter {
     field: Field,
-    vals: Vec<UnorderedTermId>,
+    vals: Vec<u64>,
     doc_index: Vec<u64>,
+    is_facet: bool
 }
 
 impl MultiValueIntFastFieldWriter {
     /// Creates a new `IntFastFieldWriter`
-    pub fn new(field: Field) -> Self {
+    pub fn new(field: Field, is_facet: bool) -> Self {
         MultiValueIntFastFieldWriter {
-            field: field,
+            field,
             vals: Vec::new(),
             doc_index: Vec::new(),
+            is_facet
         }
     }
 
@@ -161,11 +209,32 @@
         self.vals.push(val);
     }
 
-    /// Push the fast fields value to the `FastFieldWriter`.
+    pub fn add_document(&mut self, doc: &Document) {
+        if !self.is_facet {
+            for field_value in doc.field_values() {
+                if field_value.field() == self.field {
+                    self.add_val(value_to_u64(field_value.value()));
+                }
+            }
+        }
+
+    }
+
+    /// Serializes fast field values by pushing them to the `FastFieldSerializer`.
+    ///
+    /// HashMap makes it possible to remap them before serializing.
+    /// Specifically, string terms are first stored in the writer as their
+    /// position in the `IndexWriter`'s `HashMap`. This value is called
+    /// an `UnorderedTermId`.
+    ///
+    /// During the serialization of the segment, terms gets sorted and
+    /// `tantivy` builds a mapping to convert this `UnorderedTermId` into
+    /// term ordinals.
+    ///
     pub fn serialize(
         &self,
         serializer: &mut FastFieldSerializer,
-        mapping: &HashMap<UnorderedTermId, usize>,
+        mapping_opt: Option<&HashMap<UnorderedTermId, usize>>,
     ) -> io::Result<()> {
         {
             // writing the offset index
@@ -179,10 +248,25 @@
         }
         {
             // writing the values themselves.
-            let mut value_serializer =
-                serializer.new_u64_fast_field_with_idx(self.field, 0u64, mapping.len() as u64, 1)?;
-            for val in &self.vals {
-                value_serializer.add_val(*mapping.get(val).expect("Missing term ordinal") as u64)?;
+            let mut value_serializer: FastSingleFieldSerializer<_>;
+            match mapping_opt {
+                Some(mapping) => {
+                    value_serializer =
+                        serializer.new_u64_fast_field_with_idx(self.field, 0u64, mapping.len() as u64, 1)?;
+                    for val in &self.vals {
+                        let remapped_val = *mapping.get(val).expect("Missing term ordinal") as u64;
+                        value_serializer.add_val(remapped_val)?;
+                    }
+                }
+                None => {
+                    let val_min_max = self.vals.iter().cloned().minmax();
+                    let (val_min, val_max) = val_min_max.into_option().unwrap_or((0u64, 0));
+                    value_serializer =
+                        serializer.new_u64_fast_field_with_idx(self.field, val_min, val_max, 1)?;
+                    for &val in &self.vals {
+                        value_serializer.add_val(val)?;
+                    }
+                }
             }
             value_serializer.close_field()?;
         }
diff --git a/master/src/tantivy/fastfield/reader.rs.html b/master/src/tantivy/fastfield/reader.rs.html
index 1e28c1aeb..eb1a9595e 100644
--- a/master/src/tantivy/fastfield/reader.rs.html
+++ b/master/src/tantivy/fastfield/reader.rs.html
@@ -194,211 +194,40 @@
 138
 139
 140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
 
-use directory::ReadOnlySource;
-use common::{self, BinarySerializable};
-use common::compute_num_bits;
+use common::BinarySerializable;
 use common::bitpacker::BitUnpacker;
-use DocId;
-use schema::SchemaBuilder;
-use std::path::Path;
-use schema::FAST;
-use directory::{Directory, RAMDirectory, WritePtr};
-use fastfield::{FastFieldSerializer, FastFieldsWriter};
-use schema::FieldType;
-use std::mem;
 use common::CompositeFile;
-use std::collections::HashMap;
+use common::compute_num_bits;
+use directory::{Directory, RAMDirectory, WritePtr};
+use directory::ReadOnlySource;
+use DocId;
+use fastfield::{FastFieldSerializer, FastFieldsWriter};
 use owning_ref::OwningRef;
+use schema::FAST;
+use schema::SchemaBuilder;
+use std::collections::HashMap;
+use std::marker::PhantomData;
+use std::mem;
+use std::path::Path;
+use super::FastValue;
 
 /// Trait for accessing a fastfield.
 ///
 /// Depending on the field type, a different
 /// fast field is required.
-pub trait FastFieldReader: Sized {
-    /// Type of the value stored in the fastfield.
-    type ValueType;
+#[derive(Clone)]
+pub struct FastFieldReader<Item: FastValue> {
+    bit_unpacker: BitUnpacker<OwningRef<ReadOnlySource, [u8]>>,
+    min_value_u64: u64,
+    max_value_u64: u64,
+    _phantom: PhantomData<Item>
+}
 
-    /// Return the value associated to the given document.
-    ///
-    /// This accessor should return as fast as possible.
-    ///
-    /// # Panics
-    ///
-    /// May panic if `doc` is greater than the segment
-    // `maxdoc`.
-    fn get(&self, doc: DocId) -> Self::ValueType;
-
-    /// Fills an output buffer with the fast field values
-    /// associated with the `DocId` going from
-    /// `start` to `start + output.len()`.
-    ///
-    /// # Panics
-    ///
-    /// May panic if `start + output.len()` is greater than
-    /// the segment's `maxdoc`.
-    fn get_range(&self, start: u32, output: &mut [Self::ValueType]);
+impl<Item: FastValue> FastFieldReader<Item> {
 
     /// Opens a fast field given a source.
-    fn open(source: ReadOnlySource) -> Self;
-
-    /// Returns true iff the given field_type makes
-    /// it possible to access the field values via a
-    /// fastfield.
-    fn is_enabled(field_type: &FieldType) -> bool;
-}
-
-/// `FastFieldReader` for unsigned 64-bits integers.
-#[derive(Clone)]
-pub struct U64FastFieldReader {
-    bit_unpacker: BitUnpacker<OwningRef<ReadOnlySource, [u8]>>,
-    min_value: u64,
-    max_value: u64,
-}
-
-impl U64FastFieldReader {
-    /// Returns the minimum value for this fast field.
-    ///
-    /// The min value does not take in account of possible
-    /// deleted document, and should be considered as a lower bound
-    /// of the actual minimum value.
-    pub fn min_value(&self) -> u64 {
-        self.min_value
-    }
-
-    /// Returns the maximum value for this fast field.
-    ///
-    /// The max value does not take in account of possible
-    /// deleted document, and should be considered as an upper bound
-    /// of the actual maximum value.
-    pub fn max_value(&self) -> u64 {
-        self.max_value
-    }
-}
-
-impl FastFieldReader for U64FastFieldReader {
-    type ValueType = u64;
-
-    fn get(&self, doc: DocId) -> u64 {
-        self.min_value + self.bit_unpacker.get(doc as usize)
-    }
-
-    fn is_enabled(field_type: &FieldType) -> bool {
-        match *field_type {
-            FieldType::U64(ref integer_options) => integer_options.is_fast(),
-            FieldType::HierarchicalFacet => true,
-            _ => false,
-        }
-    }
-
-    fn get_range(&self, start: u32, output: &mut [Self::ValueType]) {
-        self.bit_unpacker.get_range(start, output);
-        for out in output.iter_mut() {
-            *out += self.min_value;
-        }
-    }
-
-    /// Opens a new fast field reader given a read only source.
-    ///
-    /// # Panics
-    /// Panics if the data is corrupted.
-    fn open(data: ReadOnlySource) -> U64FastFieldReader {
+    pub fn open(data: ReadOnlySource) -> Self {
         let min_value: u64;
         let amplitude: u64;
         {
@@ -412,16 +241,64 @@
         let num_bits = compute_num_bits(amplitude);
         let owning_ref = OwningRef::new(data).map(|data| &data[16..]);
         let bit_unpacker = BitUnpacker::new(owning_ref, num_bits);
-        U64FastFieldReader {
-            min_value,
-            max_value,
+        FastFieldReader {
+            min_value_u64: min_value,
+            max_value_u64: max_value,
             bit_unpacker,
+            _phantom: PhantomData
         }
     }
+
+
+    /// Return the value associated to the given document.
+    ///
+    /// This accessor should return as fast as possible.
+    ///
+    /// # Panics
+    ///
+    /// May panic if `doc` is greater than the segment
+    // `maxdoc`.
+    pub fn get(&self, doc: DocId) -> Item {
+        Item::from_u64(self.min_value_u64 + self.bit_unpacker.get(doc as usize))
+    }
+
+    /// Fills an output buffer with the fast field values
+    /// associated with the `DocId` going from
+    /// `start` to `start + output.len()`.
+    ///
+    /// # Panics
+    ///
+    /// May panic if `start + output.len()` is greater than
+    /// the segment's `maxdoc`.
+    pub fn get_range(&self, start: u32, output: &mut [Item])  {
+        let output_u64: &mut [u64] = unsafe { mem::transmute(output) };
+        self.bit_unpacker.get_range(start, output_u64);
+        for out in output_u64.iter_mut() {
+            *out = Item::from_u64(*out + self.min_value_u64).as_u64();
+        }
+    }
+
+    /// Returns the minimum value for this fast field.
+    ///
+    /// The max value does not take in account of possible
+    /// deleted document, and should be considered as an upper bound
+    /// of the actual maximum value.
+    pub fn min_value(&self) -> Item {
+        Item::from_u64(self.min_value_u64)
+    }
+
+    /// Returns the maximum value for this fast field.
+    ///
+    /// The max value does not take in account of possible
+    /// deleted document, and should be considered as an upper bound
+    /// of the actual maximum value.
+    pub fn max_value(&self) -> Item {
+        Item::from_u64(self.max_value_u64)
+    }
 }
 
-impl From<Vec<u64>> for U64FastFieldReader {
-    fn from(vals: Vec<u64>) -> U64FastFieldReader {
+impl<Item: FastValue> From<Vec<Item>> for FastFieldReader<Item> {
+    fn from(vals: Vec<Item>) -> FastFieldReader<Item> {
         let mut schema_builder = SchemaBuilder::default();
         let field = schema_builder.add_u64_field("field", FAST);
         let schema = schema_builder.build();
@@ -439,7 +316,7 @@
                     .get_field_writer(field)
                     .expect("With a RAMDirectory, this should never fail.");
                 for val in vals {
-                    fast_field_writer.add_val(val);
+                    fast_field_writer.add_val(val.to_u64());
                 }
             }
             fast_field_writers
@@ -451,82 +328,13 @@
         let source = directory.open_read(path).expect("Failed to open the file");
         let composite_file =
             CompositeFile::open(&source).expect("Failed to read the composite file");
-
         let field_source = composite_file
             .open_read(field)
             .expect("File component not found");
-        U64FastFieldReader::open(field_source)
+        FastFieldReader::open(field_source)
     }
 }
 
-/// `FastFieldReader` for signed 64-bits integers.
-pub struct I64FastFieldReader {
-    underlying: U64FastFieldReader,
-}
-
-impl I64FastFieldReader {
-    /// Returns the minimum value for this fast field.
-    ///
-    /// The min value does not take in account of possible
-    /// deleted document, and should be considered as a lower bound
-    /// of the actual minimum value.
-    pub fn min_value(&self) -> i64 {
-        common::u64_to_i64(self.underlying.min_value())
-    }
-
-    /// Returns the maximum value for this fast field.
-    ///
-    /// The max value does not take in account of possible
-    /// deleted document, and should be considered as an upper bound
-    /// of the actual maximum value.
-    pub fn max_value(&self) -> i64 {
-        common::u64_to_i64(self.underlying.max_value())
-    }
-}
-
-impl FastFieldReader for I64FastFieldReader {
-    type ValueType = i64;
-
-    ///
-    ///
-    /// # Panics
-    ///
-    /// May panic or return wrong random result if `doc`
-    /// is greater or equal to the segment's `maxdoc`.
-    fn get(&self, doc: DocId) -> i64 {
-        common::u64_to_i64(self.underlying.get(doc))
-    }
-
-    ///
-    /// # Panics
-    ///
-    /// May panic or return wrong random result if `doc`
-    /// is greater or equal to the segment's `maxdoc`.
-    fn get_range(&self, start: u32, output: &mut [Self::ValueType]) {
-        let output_u64: &mut [u64] = unsafe { mem::transmute(output) };
-        self.underlying.get_range(start, output_u64);
-        for mut_val in output_u64.iter_mut() {
-            *mut_val = common::u64_to_i64(*mut_val as u64) as u64;
-        }
-    }
-
-    /// Opens a new fast field reader given a read only source.
-    ///
-    /// # Panics
-    /// Panics if the data is corrupted.
-    fn open(data: ReadOnlySource) -> I64FastFieldReader {
-        I64FastFieldReader {
-            underlying: U64FastFieldReader::open(data),
-        }
-    }
-
-    fn is_enabled(field_type: &FieldType) -> bool {
-        match *field_type {
-            FieldType::I64(ref integer_options) => integer_options.is_fast(),
-            _ => false,
-        }
-    }
-}
 
diff --git a/master/src/tantivy/fastfield/serializer.rs.html b/master/src/tantivy/fastfield/serializer.rs.html index 0869f8ac7..617975982 100644 --- a/master/src/tantivy/fastfield/serializer.rs.html +++ b/master/src/tantivy/fastfield/serializer.rs.html @@ -205,7 +205,7 @@ // just making room for the pointer to header. let composite_write = CompositeWrite::wrap(write); Ok(FastFieldSerializer { - composite_write: composite_write, + composite_write }) } diff --git a/master/src/tantivy/fastfield/writer.rs.html b/master/src/tantivy/fastfield/writer.rs.html index 7c49d92e6..3a311a599 100644 --- a/master/src/tantivy/fastfield/writer.rs.html +++ b/master/src/tantivy/fastfield/writer.rs.html @@ -309,19 +309,10 @@ 253 254 255 -256 -257 -258 -259 -260 -261 -262 -263
 use schema::{Cardinality, Document, Field, Schema};
 use fastfield::FastFieldSerializer;
 use std::io;
-use schema::Value;
 use DocId;
 use schema::FieldType;
 use common;
@@ -359,22 +350,22 @@
                             single_value_writers.push(fast_field_writer);
                         }
                         Some(Cardinality::MultiValues) => {
-                            let fast_field_writer = MultiValueIntFastFieldWriter::new(field);
+                            let fast_field_writer = MultiValueIntFastFieldWriter::new(field, false);
                             multi_values_writers.push(fast_field_writer);
                         }
                         None => {}
                     }
                 }
                 FieldType::HierarchicalFacet => {
-                    let fast_field_writer = MultiValueIntFastFieldWriter::new(field);
+                    let fast_field_writer = MultiValueIntFastFieldWriter::new(field, true);
                     multi_values_writers.push(fast_field_writer);
                 }
                 _ => {}
             }
         }
         FastFieldsWriter {
-            single_value_writers: single_value_writers,
-            multi_values_writers: multi_values_writers,
+            single_value_writers,
+            multi_values_writers
         }
     }
 
@@ -417,6 +408,7 @@
         }
         for field_writer in &mut self.multi_values_writers {
             field_writer.next_doc();
+            field_writer.add_document(doc);
         }
     }
 
@@ -432,11 +424,7 @@
         }
         for field_writer in &self.multi_values_writers {
             let field = field_writer.field();
-            if let Some(mapping) = mapping.get(&field) {
-                field_writer.serialize(serializer, mapping)?;
-            } else {
-                panic!("Term ordinal mapping missing for {:?}", field);
-            }
+            field_writer.serialize(serializer, mapping.get(&field))?;
         }
         Ok(())
     }
@@ -480,7 +468,7 @@
     /// Creates a new `IntFastFieldWriter`
     pub fn new(field: Field) -> IntFastFieldWriter {
         IntFastFieldWriter {
-            field: field,
+            field,
             vals: Vec::new(),
             val_count: 0,
             val_if_missing: 0u64,
@@ -547,11 +535,7 @@
     /// only the first one is taken in account.
     fn extract_val(&self, doc: &Document) -> u64 {
         match doc.get_first(self.field) {
-            Some(v) => match *v {
-                Value::U64(ref val) => *val,
-                Value::I64(ref val) => common::i64_to_u64(*val),
-                _ => panic!("Expected a u64field, got {:?} ", v),
-            },
+            Some(v) => super::value_to_u64(v),
             None => self.val_if_missing,
         }
     }
diff --git a/master/src/tantivy/indexer/merger.rs.html b/master/src/tantivy/indexer/merger.rs.html
index 27e02ea84..e436a3a01 100644
--- a/master/src/tantivy/indexer/merger.rs.html
+++ b/master/src/tantivy/indexer/merger.rs.html
@@ -862,8 +862,6 @@
 806
 807
 808
-809
-810
 
 use error::{ErrorKind, Result};
 use core::SegmentReader;
@@ -872,7 +870,6 @@
 use core::SerializableSegment;
 use indexer::SegmentSerializer;
 use postings::InvertedIndexSerializer;
-use fastfield::U64FastFieldReader;
 use itertools::Itertools;
 use postings::Postings;
 use docset::DocSet;
@@ -893,7 +890,7 @@
 }
 
 fn compute_min_max_val(
-    u64_reader: &U64FastFieldReader,
+    u64_reader: &FastFieldReader<u64>,
     max_doc: DocId,
     delete_bitset: &DeleteBitSet,
 ) -> Option<(u64, u64)> {
@@ -917,15 +914,15 @@
 fn extract_fieldnorm_reader(
     segment_reader: &SegmentReader,
     field: Field,
-) -> Option<U64FastFieldReader> {
+) -> Option<FastFieldReader<u64>> {
     segment_reader.get_fieldnorms_reader(field)
 }
 
 fn extract_fast_field_reader(
     segment_reader: &SegmentReader,
     field: Field,
-) -> Option<U64FastFieldReader> {
-    segment_reader.get_fast_field_reader(field).ok()
+) -> Option<FastFieldReader<u64>> {
+    segment_reader.fast_field_reader(field).ok()
 }
 
 struct DeltaComputer {
@@ -1004,7 +1001,7 @@
     fn generic_write_fast_field(
         &self,
         fields: Vec<Field>,
-        field_reader_extractor: &Fn(&SegmentReader, Field) -> Option<U64FastFieldReader>,
+        field_reader_extractor: &Fn(&SegmentReader, Field) -> Option<FastFieldReader<u64>>,
         fast_field_serializer: &mut FastFieldSerializer,
     ) -> Result<()> {
         for field in fields {
@@ -1235,7 +1232,6 @@
     use query::TermQuery;
     use schema::Field;
     use core::Index;
-    use fastfield::U64FastFieldReader;
     use Searcher;
     use DocAddress;
     use collector::tests::FastFieldTestCollector;
@@ -1495,16 +1491,16 @@
                 vec![6_000, 7_000]
             );
 
-            let score_field_reader: U64FastFieldReader = searcher
+            let score_field_reader = searcher
                 .segment_reader(0)
-                .get_fast_field_reader(score_field)
+                .fast_field_reader::<u64>(score_field)
                 .unwrap();
             assert_eq!(score_field_reader.min_value(), 1);
             assert_eq!(score_field_reader.max_value(), 3);
 
-            let score_field_reader: U64FastFieldReader = searcher
+            let score_field_reader = searcher
                 .segment_reader(1)
-                .get_fast_field_reader(score_field)
+                .fast_field_reader::<u64>(score_field)
                 .unwrap();
             assert_eq!(score_field_reader.min_value(), 4000);
             assert_eq!(score_field_reader.max_value(), 7000);
@@ -1552,9 +1548,9 @@
                 search_term(&searcher, Term::from_field_text(text_field, "g")),
                 vec![6_000, 7_000]
             );
-            let score_field_reader: U64FastFieldReader = searcher
+            let score_field_reader = searcher
                 .segment_reader(0)
-                .get_fast_field_reader(score_field)
+                .fast_field_reader::<u64>(score_field)
                 .unwrap();
             assert_eq!(score_field_reader.min_value(), 3);
             assert_eq!(score_field_reader.max_value(), 7000);
@@ -1598,9 +1594,9 @@
                 search_term(&searcher, Term::from_field_text(text_field, "g")),
                 vec![6_000, 7_000]
             );
-            let score_field_reader: U64FastFieldReader = searcher
+            let score_field_reader = searcher
                 .segment_reader(0)
-                .get_fast_field_reader(score_field)
+                .fast_field_reader::<u64>(score_field)
                 .unwrap();
             assert_eq!(score_field_reader.min_value(), 3);
             assert_eq!(score_field_reader.max_value(), 7000);
@@ -1649,9 +1645,9 @@
                 search_term(&searcher, Term::from_field_text(text_field, "g")),
                 vec![6_000, 7_000]
             );
-            let score_field_reader: U64FastFieldReader = searcher
+            let score_field_reader = searcher
                 .segment_reader(0)
-                .get_fast_field_reader(score_field)
+                .fast_field_reader::<u64>(score_field)
                 .unwrap();
             assert_eq!(score_field_reader.min_value(), 6000);
             assert_eq!(score_field_reader.max_value(), 7000);
diff --git a/master/src/tantivy/indexer/segment_writer.rs.html b/master/src/tantivy/indexer/segment_writer.rs.html
index 4d9308c61..6d499d415 100644
--- a/master/src/tantivy/indexer/segment_writer.rs.html
+++ b/master/src/tantivy/indexer/segment_writer.rs.html
@@ -331,7 +331,6 @@
 275
 276
 277
-278
 
 use Result;
 use DocId;
@@ -495,7 +494,6 @@
                                 self.multifield_postings.subscribe(doc_id, &term);
                             unordered_term_id_opt = Some(unordered_term_id);
                         });
-
                         if let Some(unordered_term_id) = unordered_term_id_opt {
                             self.fast_field_writers
                                 .get_multivalue_writer(field)
diff --git a/master/src/tantivy/lib.rs.html b/master/src/tantivy/lib.rs.html
index 5c0d72095..0f87e307e 100644
--- a/master/src/tantivy/lib.rs.html
+++ b/master/src/tantivy/lib.rs.html
@@ -942,7 +942,6 @@
 886
 887
 888
-889
 
 #![doc(html_logo_url = "http://fulmicoton.com/tantivy-logo/tantivy-logo.png")]
 #![cfg_attr(feature = "cargo-clippy", allow(module_inception))]
@@ -1232,7 +1231,6 @@
     use schema::*;
     use docset::DocSet;
     use IndexWriter;
-    use fastfield::{FastFieldReader, I64FastFieldReader, U64FastFieldReader};
     use Postings;
     use rand::{Rng, SeedableRng, XorShiftRng};
     use rand::distributions::{IndependentSample, Range};
@@ -1803,22 +1801,22 @@
         let segment_reader: &SegmentReader = searcher.segment_reader(0);
         {
             let fast_field_reader_res =
-                segment_reader.get_fast_field_reader::<U64FastFieldReader>(text_field);
+                segment_reader.fast_field_reader::<u64>(text_field);
             assert!(fast_field_reader_res.is_err());
         }
         {
             let fast_field_reader_res =
-                segment_reader.get_fast_field_reader::<U64FastFieldReader>(stored_int_field);
+                segment_reader.fast_field_reader::<u64>(stored_int_field);
             assert!(fast_field_reader_res.is_err());
         }
         {
             let fast_field_reader_res =
-                segment_reader.get_fast_field_reader::<U64FastFieldReader>(fast_field_signed);
+                segment_reader.fast_field_reader::<u64>(fast_field_signed);
             assert!(fast_field_reader_res.is_err());
         }
         {
             let fast_field_reader_res =
-                segment_reader.get_fast_field_reader::<I64FastFieldReader>(fast_field_signed);
+                segment_reader.fast_field_reader::<i64>(fast_field_signed);
             assert!(fast_field_reader_res.is_ok());
             let fast_field_reader = fast_field_reader_res.unwrap();
             assert_eq!(fast_field_reader.get(0), 4i64)
@@ -1826,7 +1824,7 @@
 
         {
             let fast_field_reader_res =
-                segment_reader.get_fast_field_reader::<I64FastFieldReader>(fast_field_signed);
+                segment_reader.fast_field_reader::<i64>(fast_field_signed);
             assert!(fast_field_reader_res.is_ok());
             let fast_field_reader = fast_field_reader_res.unwrap();
             assert_eq!(fast_field_reader.get(0), 4i64)
diff --git a/master/src/tantivy/macros.rs.html b/master/src/tantivy/macros.rs.html
index e92e56448..ff1bcb593 100644
--- a/master/src/tantivy/macros.rs.html
+++ b/master/src/tantivy/macros.rs.html
@@ -177,7 +177,7 @@
             ($crate::Document::default())
         }
     }; // avoids a warning due to the useless `mut`.
-    ($($field:ident => $value:expr),*) => {
+    ($($field:expr => $value:expr),*) => {
         {
             let mut document = $crate::Document::default();
             $(
diff --git a/master/src/tantivy/postings/mod.rs.html b/master/src/tantivy/postings/mod.rs.html
index 35e4d1672..696483578 100644
--- a/master/src/tantivy/postings/mod.rs.html
+++ b/master/src/tantivy/postings/mod.rs.html
@@ -756,7 +756,6 @@
 700
 701
 702
-703
 
 /*!
 Postings module (also called inverted index)
@@ -785,7 +784,7 @@ Postings module (also called inverted index)
 
 pub use common::HasLen;
 
-pub(crate) type UnorderedTermId = usize;
+pub(crate) type UnorderedTermId = u64;
 
 #[allow(enum_variant_names)]
 pub(crate) enum FreqReadingOption {
@@ -811,7 +810,6 @@ Postings module (also called inverted index)
     use schema::IndexRecordOption;
     use std::iter;
     use datastruct::stacker::Heap;
-    use fastfield::FastFieldReader;
     use query::TermQuery;
     use schema::Field;
     use test::{self, Bencher};
diff --git a/master/src/tantivy/postings/postings_writer.rs.html b/master/src/tantivy/postings/postings_writer.rs.html
index aeee8af93..5c97f9810 100644
--- a/master/src/tantivy/postings/postings_writer.rs.html
+++ b/master/src/tantivy/postings/postings_writer.rs.html
@@ -528,7 +528,7 @@
         heap: &Heap,
     ) -> UnorderedTermId {
         debug_assert!(term.as_slice().len() >= 4);
-        let (term_ord, recorder): (usize, &mut Rec) = term_index.get_or_create(term);
+        let (term_ord, recorder): (UnorderedTermId, &mut Rec) = term_index.get_or_create(term);
         let current_doc = recorder.current_doc();
         if current_doc != doc {
             if current_doc != u32::max_value() {
diff --git a/master/src/tantivy/query/term_query/mod.rs.html b/master/src/tantivy/query/term_query/mod.rs.html
index d74f2e060..c171bd77c 100644
--- a/master/src/tantivy/query/term_query/mod.rs.html
+++ b/master/src/tantivy/query/term_query/mod.rs.html
@@ -125,7 +125,6 @@
 69
 70
 71
-72
 
 mod term_query;
 mod term_weight;
@@ -142,7 +141,6 @@
     use postings::SegmentPostings;
     use query::{Query, Scorer};
     use query::term_query::TermScorer;
-    use fastfield::U64FastFieldReader;
     use query::TermQuery;
     use Index;
     use schema::*;
@@ -185,7 +183,7 @@
 
     #[test]
     pub fn test_term_scorer() {
-        let left_fieldnorms = U64FastFieldReader::from(vec![10, 4]);
+        let left_fieldnorms = FastFieldReader::from(vec![10, 4]);
         assert_eq!(left_fieldnorms.get(0), 10);
         assert_eq!(left_fieldnorms.get(1), 4);
         let left = SegmentPostings::create_from_docs(&[1]);
diff --git a/master/src/tantivy/query/term_query/term_scorer.rs.html b/master/src/tantivy/query/term_query/term_scorer.rs.html
index ff11ae8b7..b5bc54720 100644
--- a/master/src/tantivy/query/term_query/term_scorer.rs.html
+++ b/master/src/tantivy/query/term_query/term_scorer.rs.html
@@ -105,12 +105,10 @@
 49
 50
 51
-52
 
 use Score;
 use DocId;
 use docset::{DocSet, SkipResult};
-use fastfield::U64FastFieldReader;
 use postings::SegmentPostings;
 use query::Scorer;
 use postings::Postings;
@@ -118,7 +116,7 @@
 
 pub struct TermScorer {
     pub idf: Score,
-    pub fieldnorm_reader_opt: Option<U64FastFieldReader>,
+    pub fieldnorm_reader_opt: Option<FastFieldReader<u64>>,
     pub postings: SegmentPostings,
 }
 
diff --git a/master/src/tantivy/query/union.rs.html b/master/src/tantivy/query/union.rs.html
index 363006001..214041664 100644
--- a/master/src/tantivy/query/union.rs.html
+++ b/master/src/tantivy/query/union.rs.html
@@ -489,7 +489,7 @@
 use Score;
 use query::score_combiner::{DoNothingCombiner, ScoreCombiner};
 
-const HORIZON_NUM_TINYBITSETS: usize = 32;
+const HORIZON_NUM_TINYBITSETS: usize = 64;
 const HORIZON: u32 = 64u32 * HORIZON_NUM_TINYBITSETS as u32;
 
 /// Creates a `DocSet` that iterator through the intersection of two `DocSet`s.
diff --git a/master/tantivy/collector/index.html b/master/tantivy/collector/index.html
index 63d49b5ff..305c6b4f2 100644
--- a/master/tantivy/collector/index.html
+++ b/master/tantivy/collector/index.html
@@ -59,7 +59,7 @@
                    
                        []
                    
-               [src]
+               [src]
 

Defines how the documents matching a search query should be processed.

Structs

diff --git a/master/tantivy/fastfield/FastValue.t.html b/master/tantivy/fastfield/FastValue.t.html new file mode 100644 index 000000000..26ba2585d --- /dev/null +++ b/master/tantivy/fastfield/FastValue.t.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to trait.FastValue.html...

+ + + \ No newline at end of file diff --git a/master/tantivy/fastfield/index.html b/master/tantivy/fastfield/index.html index a03f2c487..afa061567 100644 --- a/master/tantivy/fastfield/index.html +++ b/master/tantivy/fastfield/index.html @@ -59,7 +59,7 @@ [] - [src] + [src]

Column oriented field storage for tantivy.

It is the equivalent of Lucene's DocValues.

Fast fields is a column-oriented fashion storage of tantivy.

@@ -104,6 +104,14 @@ defined in the schema as a fast field.

+
+ + + @@ -121,14 +129,6 @@ fastfields on disk.

- - - - @@ -144,22 +144,14 @@ The fast field writer just keeps the values in memory.

- - - -
FastFieldReader +

Trait for accessing a fastfield.

+ +
FastFieldSerializer
I64FastFieldReader -

FastFieldReader for signed 64-bits integers.

- -
IntFastFieldWriter

Reader for a multivalued u64 fast field.

-
U64FastFieldReader -

FastFieldReader for unsigned 64-bits integers.

-

Traits

- +
FastFieldReaderFastValue -

Trait for accessing a fastfield.

+

Trait for types that are allowed for fast fields: (u64 or i64).

Functions

diff --git a/master/tantivy/fastfield/reader/struct.FastFieldReader.html b/master/tantivy/fastfield/reader/struct.FastFieldReader.html new file mode 100644 index 000000000..ec84b3445 --- /dev/null +++ b/master/tantivy/fastfield/reader/struct.FastFieldReader.html @@ -0,0 +1,10 @@ + + + + + + +

Redirecting to ../../../tantivy/fastfield/struct.FastFieldReader.html...

+ + + \ No newline at end of file diff --git a/master/tantivy/fastfield/sidebar-items.js b/master/tantivy/fastfield/sidebar-items.js index ffba5a915..29ac19268 100644 --- a/master/tantivy/fastfield/sidebar-items.js +++ b/master/tantivy/fastfield/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["write_delete_bitset","Write a delete `BitSet`"]],"struct":[["DeleteBitSet","Set of deleted `DocId`s."],["FacetReader","The facet reader makes it possible to access the list of facets associated to a given document in a specific segment."],["FastFieldNotAvailableError","`FastFieldNotAvailableError` is returned when the user requested for a fast field reader, and the field was not defined in the schema as a fast field."],["FastFieldSerializer","`FastFieldSerializer` is in charge of serializing fastfields on disk."],["FastFieldsWriter","The fastfieldswriter regroup all of the fast field writers."],["I64FastFieldReader","`FastFieldReader` for signed 64-bits integers."],["IntFastFieldWriter","Fast field writer for ints. The fast field writer just keeps the values in memory."],["MultiValueIntFastFieldReader","Reader for a multivalued `u64` fast field."],["U64FastFieldReader","`FastFieldReader` for unsigned 64-bits integers."]],"trait":[["FastFieldReader","Trait for accessing a fastfield."]],"type":[["Result","Result when trying to access a fast field reader."]]}); \ No newline at end of file +initSidebarItems({"fn":[["write_delete_bitset","Write a delete `BitSet`"]],"struct":[["DeleteBitSet","Set of deleted `DocId`s."],["FacetReader","The facet reader makes it possible to access the list of facets associated to a given document in a specific segment."],["FastFieldNotAvailableError","`FastFieldNotAvailableError` is returned when the user requested for a fast field reader, and the field was not defined in the schema as a fast field."],["FastFieldReader","Trait for accessing a fastfield."],["FastFieldSerializer","`FastFieldSerializer` is in charge of serializing fastfields on disk."],["FastFieldsWriter","The fastfieldswriter regroup all of the fast field writers."],["IntFastFieldWriter","Fast field writer for ints. The fast field writer just keeps the values in memory."],["MultiValueIntFastFieldReader","Reader for a multivalued `u64` fast field."]],"trait":[["FastValue","Trait for types that are allowed for fast fields: (u64 or i64)."]],"type":[["Result","Result when trying to access a fast field reader."]]}); \ No newline at end of file diff --git a/master/tantivy/fastfield/struct.FacetReader.html b/master/tantivy/fastfield/struct.FacetReader.html index e3d53bfa2..076eebbaa 100644 --- a/master/tantivy/fastfield/struct.FacetReader.html +++ b/master/tantivy/fastfield/struct.FacetReader.html @@ -75,7 +75,7 @@ only makes sense for a given segment.

Methods

impl FacetReader
[src]

-

[src]

+

[src]

Creates a new FacetReader.

A facet reader just wraps :

    diff --git a/master/tantivy/fastfield/struct.FastFieldReader.html b/master/tantivy/fastfield/struct.FastFieldReader.html new file mode 100644 index 000000000..c4f8d0377 --- /dev/null +++ b/master/tantivy/fastfield/struct.FastFieldReader.html @@ -0,0 +1,171 @@ + + + + + + + + + + tantivy::fastfield::FastFieldReader - Rust + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + +
    +

    Struct tantivy::fastfield::FastFieldReader + + [] + + [src]

    +
    pub struct FastFieldReader<Item: FastValue> { /* fields omitted */ }

    Trait for accessing a fastfield.

    +

    Depending on the field type, a different +fast field is required.

    +
    +

    + Methods +

    +

    impl<Item: FastValue> FastFieldReader<Item>
    [src]

    +

    [src]

    +

    Opens a fast field given a source.

    +

    [src]

    +

    Return the value associated to the given document.

    +

    This accessor should return as fast as possible.

    +

    Panics

    +

    May panic if doc is greater than the segment

    +

    [src]

    +

    Fills an output buffer with the fast field values +associated with the DocId going from +start to start + output.len().

    +

    Panics

    +

    May panic if start + output.len() is greater than +the segment's maxdoc.

    +

    [src]

    +

    Returns the minimum value for this fast field.

    +

    The max value does not take in account of possible +deleted document, and should be considered as an upper bound +of the actual maximum value.

    +

    [src]

    +

    Returns the maximum value for this fast field.

    +

    The max value does not take in account of possible +deleted document, and should be considered as an upper bound +of the actual maximum value.

    +
    +

    + Trait Implementations +

    +

    impl<Item: Clone + FastValue> Clone for FastFieldReader<Item>
    [src]

    +

    [src]

    +

    Returns a copy of the value. Read more

    +

    1.0.0
    [src]

    +

    Performs copy-assignment from source. Read more

    +

    impl<Item: FastValue> From<Vec<Item>> for FastFieldReader<Item>
    [src]

    +

    [src]

    +

    Performs the conversion.

    +
    + + + + + + + + + + + + + \ No newline at end of file diff --git a/master/tantivy/fastfield/struct.FastFieldsWriter.html b/master/tantivy/fastfield/struct.FastFieldsWriter.html index ffb16d808..ee3592612 100644 --- a/master/tantivy/fastfield/struct.FastFieldsWriter.html +++ b/master/tantivy/fastfield/struct.FastFieldsWriter.html @@ -59,23 +59,23 @@ [] - [src] + [src]
    pub struct FastFieldsWriter { /* fields omitted */ }

    The fastfieldswriter regroup all of the fast field writers.

    Methods

    -

    impl FastFieldsWriter
    [src]

    -

    [src]

    +

    impl FastFieldsWriter
    [src]

    +

    [src]

    Create all FastFieldWriter required by the schema.

    -

    [src]

    +

    [src]

    Get the FastFieldWriter associated to a field.

    -

    [src]

    +

    [src]

    Indexes all of the fastfields of a new document.

    -

    [src]

    +

[src]

Serializes all of the FastFieldWriters by pushing them in order to the fast field serializer.

-

[src]

+

[src]

Ensures all of the fast field writers have reached doc. (included)

The missing values will be filled with 0.

diff --git a/master/tantivy/fastfield/struct.IntFastFieldWriter.html b/master/tantivy/fastfield/struct.IntFastFieldWriter.html index f9f565ee2..ffce54b21 100644 --- a/master/tantivy/fastfield/struct.IntFastFieldWriter.html +++ b/master/tantivy/fastfield/struct.IntFastFieldWriter.html @@ -59,7 +59,7 @@ [] - [src] + [src]
pub struct IntFastFieldWriter { /* fields omitted */ }

Fast field writer for ints. The fast field writer just keeps the values in memory.

Only when the segment writer can be closed and @@ -76,20 +76,20 @@ using common::i64_to_u64.

Methods

-

impl IntFastFieldWriter
[src]

-

[src]

+

impl IntFastFieldWriter
[src]

+

[src]

Creates a new IntFastFieldWriter

-

[src]

+

[src]

Returns the field that this writer is targetting.

-

[src]

+

[src]

Records a new value.

The n-th value being recorded is implicitely associated to the document with the DocId n. (Well, n-1 actually because of 0-indexing)

-

[src]

+

[src]

Extract the fast field value from the document (or use the default value) and records it.

-

[src]

+

[src]

Push the fast fields value to the FastFieldWriter.

diff --git a/master/tantivy/fastfield/struct.MultiValueIntFastFieldReader.html b/master/tantivy/fastfield/struct.MultiValueIntFastFieldReader.html index ab887b116..62ec7e394 100644 --- a/master/tantivy/fastfield/struct.MultiValueIntFastFieldReader.html +++ b/master/tantivy/fastfield/struct.MultiValueIntFastFieldReader.html @@ -59,8 +59,8 @@ [] - [src] -
pub struct MultiValueIntFastFieldReader { /* fields omitted */ }

Reader for a multivalued u64 fast field.

+ [src] +
pub struct MultiValueIntFastFieldReader<Item: FastValue> { /* fields omitted */ }

Reader for a multivalued u64 fast field.

The reader is implemented as two u64 fast field.

The vals_reader will access the concatenated list of all values for all reader. @@ -69,15 +69,15 @@ The idx_reader associated, for each document, the index of its firs

Methods

-

impl MultiValueIntFastFieldReader
[src]

-

[src]

+

impl<Item: FastValue> MultiValueIntFastFieldReader<Item>
[src]

+

[src]

Returns the array of values associated to the given doc.

Trait Implementations

-

impl Clone for MultiValueIntFastFieldReader
[src]

-

[src]

+

impl<Item: Clone + FastValue> Clone for MultiValueIntFastFieldReader<Item>
[src]

+

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

diff --git a/master/tantivy/fastfield/trait.FastValue.html b/master/tantivy/fastfield/trait.FastValue.html new file mode 100644 index 000000000..fe946b8a5 --- /dev/null +++ b/master/tantivy/fastfield/trait.FastValue.html @@ -0,0 +1,168 @@ + + + + + + + + + + tantivy::fastfield::FastValue - Rust + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + +
+

Trait tantivy::fastfield::FastValue + + [] + + [src]

+
pub trait FastValue: Default + Clone + Copy {
+    fn from_u64(val: u64) -> Self;
+
fn to_u64(&self) -> u64; +
fn fast_field_cardinality(field_type: &FieldType) -> Option<Cardinality>; +
fn as_u64(&self) -> u64; +}

Trait for types that are allowed for fast fields: (u64 or i64).

+
+

+ Required Methods +

+
+

Converts a value from u64

+

Internally all fast field values are encoded as u64.

+

Converts a value to u64.

+

Internally all fast field values are encoded as u64.

+

Returns the fast field cardinality that can be extracted from the given +FieldType.

+

If the type is not a fast field, None is returned.

+

Cast value to u64. +The value is just reinterpreted in memory.

+
+

+ Implementations on Foreign Types +

+

impl FastValue for u64
[src]

+

[src]

+

[src]

+

[src]

+

[src]

+

impl FastValue for i64
[src]

+

[src]

+

[src]

+

[src]

+

[src]

+
+

+ Implementors +

+
    +
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/master/tantivy/index.html b/master/tantivy/index.html index 24a1c111a..84d77694f 100644 --- a/master/tantivy/index.html +++ b/master/tantivy/index.html @@ -59,7 +59,7 @@ [] - [src] + [src]

tantivy

Tantivy is a search engine library. Think Lucene, but in Rust.

diff --git a/master/tantivy/macro.doc.html b/master/tantivy/macro.doc.html index 9fb59c2ae..6e9cb3b87 100644 --- a/master/tantivy/macro.doc.html +++ b/master/tantivy/macro.doc.html @@ -63,7 +63,7 @@
 macro_rules! doc {
     () => { ... };
-    ($($field:ident => $value:expr),*) => { ... };
+    ($($field:expr => $value:expr),*) => { ... };
 }

doc! is a shortcut that helps building Document objects.

diff --git a/master/tantivy/postings/index.html b/master/tantivy/postings/index.html index c532e066b..2374eabc9 100644 --- a/master/tantivy/postings/index.html +++ b/master/tantivy/postings/index.html @@ -59,7 +59,7 @@ [] - [src] + [src]

Postings module (also called inverted index)

Structs

diff --git a/master/tantivy/struct.SegmentReader.html b/master/tantivy/struct.SegmentReader.html index 5869e3825..be84ef27b 100644 --- a/master/tantivy/struct.SegmentReader.html +++ b/master/tantivy/struct.SegmentReader.html @@ -33,7 +33,7 @@
@@ -59,7 +59,7 @@ [] - [src] + [src]
pub struct SegmentReader { /* fields omitted */ }

Entry point to access all of the datastructures of the Segment

[src]

Accessor to a segment's fast field reader given a field.

Returns the u64 fast value reader if the field is a u64 field indexed as "fast".

@@ -97,50 +97,51 @@ is a u64 field indexed as "fast".

declared as a fast field in the schema.

Panics

May panic if the index is corrupted.

-

[src]

+

[src]

+

Accessor to the MultiValueIntFastFieldReader associated to a given Field. +May panick if the field is not a multivalued fastfield of the type Item.

+

[src]

Accessor to the FacetReader associated to a given Field.

-

[src]

-

Accessor to the MultiValueIntFastFieldReader associated to a given Field.

-

[src]

+

[src]

Accessor to the segment's Field norms's reader.

Field norms are the length (in tokens) of the fields. It is used in the computation of the [TfIdf] (https://fulmicoton.gitbooks.io/tantivy-doc/content/tfidf.html).

They are simply stored as a fast field, serialized in the .fieldnorm file of the segment.

-

[src]

+

[src]

Accessor to the segment's StoreReader.

-

[src]

+

[src]

Open a new segment for reading.

-

[src]

+

[src]

Returns a field reader associated to the field given in argument.

The field reader is in charge of iterating through the term dictionary associated to a specific field, and opening the posting list associated to any term.

-

[src]

+

[src]

Returns the document (or to be accurate, its stored field) bearing the given doc id. This method is slow and should seldom be called from within a collector.

-

[src]

+

[src]

Returns the segment id

-

[src]

+

[src]

Returns the bitset representing the documents that have been deleted.

-

[src]

+

[src]

Returns true iff the doc is marked as deleted.

Trait Implementations

-

impl Clone for SegmentReader
[src]

-

[src]

+

impl Clone for SegmentReader
[src]

+

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

-

impl Debug for SegmentReader
[src]

-

[src]

+

impl Debug for SegmentReader
[src]

+

[src]

Formats the value using the given formatter. Read more