Skip to content

Instantly share code, notes, and snippets.

Created November 1, 2016 23:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/5bfaa9f110d065eb16714e71b90f8397 to your computer and use it in GitHub Desktop.
Save anonymous/5bfaa9f110d065eb16714e71b90f8397 to your computer and use it in GitHub Desktop.
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