/// <summary> /// Reads the json. /// </summary> /// <param name="obj">The object.</param> public override void ReadJson(JObject obj) { ReadIdAndRev(this, obj); if (obj["language"] != null) { Language = obj["language"].Value <string>(); } Definitions = new List <BigDViewDefinition>(); var views = (JObject)obj["views"]; foreach (var property in views.Properties()) { var v = new BigDViewDefinition(property.Name, this); v.ReadJson((JObject)views[property.Name]); Definitions.Add(v); } #if XAMARIN #else var fulltext = (JObject)obj["fulltext"]; // If we have Lucene definitions we read them too if (fulltext != null) { foreach (var property in fulltext.Properties()) { var v = new BigDLuceneViewDefinition(property.Name, this); v.ReadJson((JObject)fulltext[property.Name]); LuceneDefinitions.Add(v); } } #endif }
/// <summary> /// Add Lucene fulltext view. /// </summary> /// <param name="name">Name of view</param> /// <param name="index">Index function</param> /// <returns>CouchLuceneViewDefinition.</returns> public BigDLuceneViewDefinition AddLuceneView(string name, string index) { var def = new BigDLuceneViewDefinition(name, index, this); LuceneDefinitions.Add(def); return(def); }
/// <summary> /// Removes the lucene view. /// </summary> /// <param name="view">The view.</param> public void RemoveLuceneView(BigDLuceneViewDefinition view) { view.Doc = null; LuceneDefinitions.Remove(view); }
/// <summary> /// Queries the specified view. /// </summary> /// <param name="view">The view.</param> /// <returns>CouchLuceneQuery.</returns> public BigDLuceneQuery Query(BigDLuceneViewDefinition view) { return(new BigDLuceneQuery(view)); }