Created
November 1, 2016 23:57
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
using System.ComponentModel; | |
using System.Data; | |
using System.Drawing; | |
using System.Linq; | |
using System.Text; | |
using System.Threading.Tasks; | |
using System.Windows.Forms; | |
using Couchbase; | |
using Couchbase.Configuration.Client; | |
using Couchbase.Core; | |
using Couchbase.Search; | |
using Couchbase.Search.Queries; | |
using Couchbase.Search.Queries.Compound; | |
using Couchbase.Search.Queries.Range; | |
using Couchbase.Search.Queries.Simple; | |
using Newtonsoft.Json.Linq; | |
namespace CouchbaseFTS | |
{ | |
public partial class Form1 : Form | |
{ | |
public Form1() | |
{ | |
InitializeComponent(); | |
} | |
private void button1_Click(object sender, EventArgs e) | |
{ | |
ClientConfiguration cl = new ClientConfiguration(); | |
cl.Servers.Clear(); | |
cl.Servers.Add(new Uri("http://localhost:8091")); | |
Cluster client = new Couchbase.Cluster(cl); | |
IBucket CurrentBucket = client.OpenBucket("testbucket"); | |
CurrentBucket.Configuration.Username = "Administrator"; | |
SearchQuery query = new SearchQuery(); | |
BooleanQuery qr = new BooleanQuery(); | |
JObject must = new JObject(); | |
List<FtsQueryBase> queries = new List<FtsQueryBase>(); | |
NumericRangeQuery nrq1 = new NumericRangeQuery(); | |
nrq1.Field("testfield"); | |
nrq1.Min(0); | |
nrq1.Max(0); | |
queries.Add(nrq1); | |
FtsQueryBase q = new RegexpQuery("*test"); | |
(q as RegexpQuery).Field("testfield"); | |
queries.Add(q); | |
qr.Must(queries.ToArray()); | |
query.Query = qr; | |
int skip = 0; | |
query.Skip(skip); | |
query.Limit(20); | |
query.Timeout(new TimeSpan(0, 0, 10)); | |
query.Index = "testindex"; | |
ISearchQueryResult result = CurrentBucket.Query(query); | |
if (result.Success) | |
{ | |
MessageBox.Show(result.Metrics.TotalCount.ToString()); | |
} | |
else | |
{ | |
string err = ""; | |
foreach (var error in result.Errors) | |
{ | |
err += error + Environment.NewLine; | |
} | |
if (result.Exception != null) | |
{ | |
err += result.Exception.Message + Environment.NewLine; | |
if (result.Exception.InnerException != null) | |
err += result.Exception.InnerException.Message; | |
} | |
MessageBox.Show(err); | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment