Click here to Skip to main content
15,891,847 members
Articles / Database Development / NoSQL

WCF by Example - Chapter XV - RavenDB Implementation

Rate me:
Please Sign up or sign in to vote.
5.00/5 (5 votes)
3 Feb 2013CPOL9 min read 34.7K   773   26  
Unit of Work and Repository RavenDB implementation example
This article in the WCF by example series introduces RavenDB for persistence purposes.
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Lucene.Net.Contrib.Spatial</name>
    </assembly>
    <members>
        <member name="T:Lucene.Net.Spatial.Util.CachedDistanceValueSource">
            <summary>
            An implementation of the Lucene ValueSource model to support spatial relevance ranking.
            </summary>
        </member>
        <member name="T:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTree">
            <summary>
            A Spatial Prefix Tree, or Trie, which decomposes shapes into prefixed strings at variable lengths corresponding to
            variable precision.  Each string corresponds to a spatial region.
            
            Implementations of this class should be thread-safe and immutable once initialized. 
            </summary>
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTree.GetMaxLevelForPrecision(Spatial4n.Core.Shapes.Shape,System.Double)">
             See {@link com.spatial4j.core.query.SpatialArgs#getDistPrecision()}.
             A grid level looked up via {@link #getLevelForDistance(double)} is returned.
            
             @param shape
             @param precision 0-0.5
             @return 1-maxLevels
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTree.GetLevelForDistance(System.Double)">
             Returns the level of the smallest grid size with a side length that is greater or equal to the provided
             distance.
            
             @param dist >= 0
             @return level [1-maxLevels]
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTree.GetWorldNode">
            Returns the level 0 cell which encompasses all spatial data. Equivalent to {@link #getNode(String)} with "".
            This cell is threadsafe, just like a spatial prefix grid is, although cells aren't
            generally threadsafe.
            TODO rename to getTopCell or is this fine?
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTree.GetNode(System.String)">
            The cell for the specified token. The empty string should be equal to {@link #getWorldNode()}.
            Precondition: Never called when token length > maxLevel.
        </member>
        <!-- Badly formed XML comment ignored for member "M:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTree.GetNodes(Spatial4n.Core.Shapes.Shape,System.Int32,System.Boolean)" -->
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTree.GetNodesAltPoint(Spatial4n.Core.Shapes.Point,System.Int32,System.Boolean)">
            Subclasses might override {@link #getNodes(com.spatial4j.core.shape.Shape, int, boolean)}
            and check if the argument is a shape and if so, delegate
            to this implementation, which calls {@link #getNode(com.spatial4j.core.shape.Point, int)} and
            then calls {@link #getNode(String)} repeatedly if inclParents is true.
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTree.NodesToTokenStrings(System.Collections.ObjectModel.Collection{Lucene.Net.Spatial.Prefix.Tree.Node})">
            Will add the trailing leaf byte for leaves. This isn't particularly efficient.
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTreeFactory.MakeSPT(System.Collections.Generic.Dictionary{System.String,System.String},Spatial4n.Core.Context.SpatialContext)">
            <summary>
            The factory  is looked up via "prefixTree" in args, expecting "geohash" or "quad".
            If its neither of these, then "geohash" is chosen for a geo context, otherwise "quad" is chosen.
            </summary>
            <param name="args"></param>
            <param name="ctx"></param>
            <returns></returns>
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.SpatialPrefixTreeFactory.GetLevelForDistance(System.Double)">
            Calls {@link SpatialPrefixTree#getLevelForDistance(double)}. 
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.Node.GetTokenString">
            Note: doesn't contain a trailing leaf byte.
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.Node.GetSubCells(Spatial4n.Core.Shapes.Shape)">
             Like {@link #getSubCells()} but with the results filtered by a shape. If that shape is a {@link com.spatial4j.core.shape.Point} then it
             must call {@link #getSubCell(com.spatial4j.core.shape.Point)};
             Precondition: Never called when getLevel() == maxLevel.
            
             @param shapeFilter an optional filter for the returned cells.
             @return A set of cells (no dups), sorted. Not Modifiable.
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.Node.GetSubCell(Spatial4n.Core.Shapes.Point)">
            Performant implementations are expected to implement this efficiently by considering the current
            cell's boundary.
            Precondition: Never called when getLevel() == maxLevel.
            Precondition: this.getShape().relate(p) != DISJOINT.
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.Node.GetSubCells">
             Gets the cells at the next grid cell level that cover this cell.
             Precondition: Never called when getLevel() == maxLevel.
            
             @return A set of cells (no dups), sorted. Not Modifiable.
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.Tree.Node.GetSubCellsSize">
            {@link #getSubCells()}.size() -- usually a constant. Should be >=2
        </member>
        <member name="M:Lucene.Net.Spatial.SpatialStrategy`1.IsPolyField">
            Corresponds with Solr's  FieldType.isPolyField(). 
        </member>
        <member name="M:Lucene.Net.Spatial.SpatialStrategy`1.CreateField(`0,Spatial4n.Core.Shapes.Shape,System.Boolean,System.Boolean)">
             Corresponds with Solr's FieldType.createField().
            
             This may return a null field if it does not want to make anything.
             This is reasonable behavior if 'ignoreIncompatibleGeometry=true' and the
             geometry is incompatible
        </member>
        <member name="M:Lucene.Net.Spatial.SpatialStrategy`1.CreateFields(`0,Spatial4n.Core.Shapes.Shape,System.Boolean,System.Boolean)">
            Corresponds with Solr's FieldType.createFields(). 
        </member>
        <member name="M:Lucene.Net.Spatial.SpatialStrategy`1.MakeQuery(Spatial4n.Core.Query.SpatialArgs,`0)">
            <summary>
            Make a query
            </summary>
            <param name="args"></param>
            <param name="fieldInfo"></param>
            <returns></returns>
        </member>
        <member name="M:Lucene.Net.Spatial.SpatialStrategy`1.MakeFilter(Spatial4n.Core.Query.SpatialArgs,`0)">
            <summary>
            Make a Filter
            </summary>
            <param name="args"></param>
            <param name="fieldInfo"></param>
            <returns></returns>
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.PrefixTreeStrategy.SetDefaultFieldValuesArrayLen(System.Int32)">
            Used in the in-memory ValueSource as a default ArrayList length for this field's array of values, per doc. 
        </member>
        <member name="M:Lucene.Net.Spatial.Prefix.PrefixTreeStrategy.SetDistErrPct(System.Double)">
            See {@link SpatialPrefixTree#getMaxLevelForPrecision(com.spatial4j.core.shape.Shape, double)}. 
        </member>
        <member name="T:Lucene.Net.Spatial.Prefix.PrefixTreeStrategy.CellTokenStream">
            <summary>
            Outputs the tokenString of a cell, and if its a leaf, outputs it again with the leaf byte.
            </summary>
        </member>
        <member name="T:Lucene.Net.Spatial.Util.FunctionQuery">
            <summary>
            Port of Solr's FunctionQuery (v1.4)
            
            Returns a score for each document based on a ValueSource,
            often some function of the value of a field.
            
            <b>Note: This API is experimental and may change in non backward-compatible ways in the future</b>
            </summary>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FunctionQuery.GetValueSource">
            <summary>
            
            </summary>
            <returns>The associated ValueSource</returns>
        </member>
        <member name="T:Lucene.Net.Spatial.Util.TermsEnumCompatibility">
            <summary>
            Wraps Lucene 3 TermEnum to make it look like a Lucene 4 TermsEnum
            SOLR-2155
            @author dsmiley
            </summary>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.TermsEnumCompatibility.SeekCeil(System.String)">
            <summary>
            Seeks to the specified term, if it exists, or to the
            next (ceiling) term.  Returns SeekStatus to
            indicate whether exact term was found, a different
            term was found, or EOF was hit.  The target term may
            be before or after the current term.  If this returns
            SeekStatus.END, the enum is unpositioned.
            </summary>
            <param name="value"></param>
            <returns></returns>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.TermsEnumCompatibility.GetDocCount">
            <summary>
            Returns the number of documents that have at least one
            term for this field, or -1 if this measure isn't
            stored by the codec.  Note that, just like other term
            measures, this measure does not take deleted documents
            into account.
            </summary>
            <returns></returns>
        </member>
        <member name="T:Lucene.Net.Spatial.SpatialFieldInfo">
            <summary>
            Information the strategy needs for the lucene fields
            </summary>
        </member>
        <member name="T:Lucene.Net.Spatial.Util.Bits">
            <summary>
            Interface for Bitset-like structures.
            </summary>
        </member>
        <member name="T:Lucene.Net.Spatial.Util.Bits.MatchAllBits">
            <summary>
            Bits impl of the specified length with all bits set.
            </summary>
        </member>
        <member name="T:Lucene.Net.Spatial.Util.Bits.MatchNoBits">
            <summary>
            Bits impl of the specified length with no bits set. 
            </summary>
        </member>
        <member name="M:Lucene.Net.Spatial.Vector.TwoDoublesStrategy.MakeWithin(Spatial4n.Core.Shapes.Rectangle,Lucene.Net.Spatial.Vector.TwoDoublesFieldInfo)">
            <summary>
            Constructs a query to retrieve documents that fully contain the input envelope.
            </summary>
            <param name="bbox"></param>
            <param name="fieldInfo"></param>
            <returns>The spatial query</returns>
        </member>
        <member name="M:Lucene.Net.Spatial.Vector.TwoDoublesStrategy.MakeDisjoint(Spatial4n.Core.Shapes.Rectangle,Lucene.Net.Spatial.Vector.TwoDoublesFieldInfo)">
            <summary>
            Constructs a query to retrieve documents that fully contain the input envelope.
            </summary>
            <param name="bbox"></param>
            <param name="fieldInfo"></param>
            <returns>The spatial query</returns>
        </member>
        <member name="T:Lucene.Net.Spatial.Prefix.RecursivePrefixTreeFilter">
            <summary>
            Performs a spatial intersection filter against a field indexed with {@link SpatialPrefixTree}, a Trie.
            SPT yields terms (grids) at length 1 and at greater lengths corresponding to greater precisions.
            This filter recursively traverses each grid length and uses methods on {@link Shape} to efficiently know
            that all points at a prefix fit in the shape or not to either short-circuit unnecessary traversals or to efficiently
            load all enclosed points.
            </summary>
        </member>
        <member name="T:Lucene.Net.Spatial.Util.NumericFieldInfo">
            <summary>
            Hold some of the parameters used by solr...
            </summary>
        </member>
        <member name="T:Lucene.Net.Spatial.Util.StringListTokenizer">
            <summary>
            Put a list of strings directly into the token stream
            </summary>
        </member>
        <member name="T:Lucene.Net.Spatial.Util.OpenBitSetIterator">
            <summary>An iterator to iterate over set bits in an OpenBitSet.
            This is faster than nextSetBit() for iterating over the complete set of bits,
            especially when the density of the bits set is high.
            
            </summary>
            <version>  $Id$
            </version>
        </member>
        <member name="F:Lucene.Net.Spatial.Util.OpenBitSetIterator.arr">
            <summary>** the python code that generated bitlist
            def bits2int(val):
            arr=0
            for shift in range(8,0,-1):
            if val &amp; 0x80:
            arr = (arr &lt;&lt; 4) | shift
            val = val &lt;&lt; 1
            return arr
            def int_table():
            tbl = [ hex(bits2int(val)).strip('L') for val in range(256) ]
            return ','.join(tbl)
            ****
            </summary>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.OpenBitSetIterator.Next">
            <deprecated> use <see cref="M:Lucene.Net.Spatial.Util.OpenBitSetIterator.NextDoc"/> instead. 
            </deprecated>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.OpenBitSetIterator.SkipTo(System.Int32)">
            <deprecated> use <see cref="M:Lucene.Net.Spatial.Util.OpenBitSetIterator.Advance(System.Int32)"/> instead. 
            </deprecated>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.OpenBitSetIterator.Doc">
            <deprecated> use <see cref="M:Lucene.Net.Spatial.Util.OpenBitSetIterator.DocID"/> instead. 
            </deprecated>
        </member>
        <member name="T:Lucene.Net.Spatial.Vector.DistanceValueSource">
            <summary>
            An implementation of the Lucene ValueSource model to support spatial relevance ranking.
            </summary>
        </member>
        <member name="T:Lucene.Net.Spatial.Prefix.Tree.GeohashPrefixTree">
            <summary>
            A SpatialPrefixGrid based on Geohashes.  Uses {@link GeohashUtils} to do all the geohash work.
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Lucene.Net.Spatial.Prefix.Tree.GeohashPrefixTree.GetMaxLevelsPossible" -->
        <member name="F:Lucene.Net.Spatial.Util.CompatibilityExtensions.nlzTable">
            table of number of leading zeros in a byte 
        </member>
        <member name="M:Lucene.Net.Spatial.Util.CompatibilityExtensions.BitUtilNlz(System.Int64)">
            <summary>
            Returns the number of leading zero bits.
            </summary>
            <param name="x"></param>
            <returns></returns>
        </member>
        <member name="T:Lucene.Net.Spatial.Util.Entry">
            <summary>
            Expert: Every composite-key in the internal cache is of this type.
            </summary>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.Entry.#ctor(System.String,System.Object)">
            Creates one of these objects for a custom comparator/parser. 
        </member>
        <member name="M:Lucene.Net.Spatial.Util.Entry.Equals(System.Object)">
            Two of these are equal iff they reference the same field and type. 
        </member>
        <member name="M:Lucene.Net.Spatial.Util.Entry.GetHashCode">
            Composes a hashcode based on the field and type. 
        </member>
        <member name="T:Lucene.Net.Spatial.Util.FixedBitSet">
            BitSet of fixed length (numBits), backed by accessible
              ({@link #getBits}) long[], accessed with an int index,
              implementing Bits and DocIdSet.  Unlike {@link
              OpenBitSet} this bit set does not auto-expand, cannot
              handle long index, and does not have fastXX/XX variants
              (just X).
            
             @lucene.internal
            
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.bits2words(System.Int32)">
            <summary>
            returns the number of 64 bit words it would take to hold numBits
            </summary>
            <param name="numBits"></param>
            <returns></returns>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.#ctor(Lucene.Net.Spatial.Util.FixedBitSet)">
            <summary>
            Makes full copy.
            </summary>
            <param name="other"></param>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.Cardinality">
            <summary>
            Returns number of set bits.  NOTE: this visits every
            long in the backing bits array, and the result is not
            internally cached!
            </summary>
            <returns></returns>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.NextSetBit(System.Int32)">
            <summary>
            Returns the index of the first set bit starting at the index specified.
            -1 is returned if there are no more set bits.
            </summary>
            <param name="index"></param>
            <returns></returns>
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.PrevSetBit(System.Int32)">
            Returns the index of the last set bit before or on the index specified.
            -1 is returned if there are no more set bits.
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.Or(Lucene.Net.Spatial.Util.FixedBitSet)">
            this = this OR other 
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.And(Lucene.Net.Spatial.Util.FixedBitSet)">
            this = this AND other 
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.AndNot(Lucene.Net.Spatial.Util.FixedBitSet)">
            this = this AND NOT other 
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.Set(System.Int32,System.Int32)">
            Sets a range of bits
            
             @param startIndex lower index
             @param endIndex one-past the last bit to set
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.Clear(System.Int32,System.Int32)">
            Clears a range of bits.
            
             @param startIndex lower index
             @param endIndex one-past the last bit to clear
        </member>
        <member name="M:Lucene.Net.Spatial.Util.FixedBitSet.Equals(System.Object)">
            returns true if both sets have the same bits set 
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
Ireland Ireland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions