Skip to content

Releases: kreeben/resin

v0.5.0.1

08 May 13:28
Compare
Choose a tag to compare

v0.5.0.0

07 May 16:42
Compare
Choose a tag to compare

Full Changelog: v0.4.0.6...v0.5.0.0

Major bug fixes and improvements'n'stuff.

v0.4.0.6

30 Dec 22:02
Compare
Choose a tag to compare
  • improved documentation
  • cleaned-up markup
  • improved graph building API by applying DDD (graph builder extension methods)

v0.4.0.5

26 Dec 10:22
Compare
Choose a tag to compare

The Resin libraries are now available as nuget packages: https://www.nuget.org/packages/Resin.Search/

Multi-collection querying has been temporarily disabled because of large refactorings having been applied to the read pipeline. This feature will re-appear soon.

Indexing and querying performance improvements.

Multi-collection queries

10 Nov 15:09
Compare
Choose a tag to compare

JSON query language!

To see the query language in action, let's try to separate everything that is rotten about Sylvester Stallone's career from everything that is brilliant.

{
	"and":
	{
		"collection": "film,music",
		"title": "rocky eye of the tiger",
		"or":
		{
			"title": "rambo",
			"or": 
			{
				"title": "cobra"
				"or":
				{
					"cast": "antonio banderas"
				}			
			}	
		},
		"and":
		{
			"year": 1980,
			"operator": "gt"
		},
		"not":
		{
			"title": "first blood"
		}
	}
}

*) gt/lt not yet implemented.

Grammar

  • Three reserved words define the types of set operations we can perform: "and", "or", "not".

  • Each operation can have three child operations, one for each type.

  • The "collection" field name is a reserved word. You must define one or more comma-separated collections for each set operation. If you ommit the collection field from a child operation, once the query is evalatuated, the value of the parent's collection field will be used to identify the data. The collection field should never be empty, but you may ommit it entirely from all but the root operation.

  • A term is a key/value pair, where the key is not a reserved word. You must define no more than one term per operation. The value of the term can be a number, date or a string of words, e.g. a phrase or a bag of keywords.

  • "operator" is a reserved word, "gt" and "lt" are its options representing greater or less than. They are used to decorate a term.

Media types

The result set will be serialized by the back-end according to the "Accept" header of your HTTP request. However, currently, Resin has only support for the "application/json" media type.