public void CommitWithParams() { var conn = new MSolrConnection(); conn.post &= x => x.Args("/update", "<commit waitSearcher=\"true\" waitFlush=\"true\" />").Expect(1); Solr.Connection = conn; Solr.Commit(true, true); conn.post.Verify(); }
public void Commit() { var conn = new MSolrConnection(); conn.post &= x => x.Args("/update", "<commit />").Expect(1); Solr.Connection = conn; Solr.Commit(); conn.post.Verify(); }
public void Add() { var conn = new MSolrConnection(); conn.post &= x => x.Args("/update", "<add><doc /></add>").Expect(1); Solr.Connection = conn; Solr.Add(new TestDocument()); conn.post.Verify(); }
public void DeleteByMultipleId() { var ids = new[] {"123", "456"}; var conn = new Mocks.MSolrConnection(); var xml = string.Format("<delete><id>{0}</id><id>{1}</id></delete>", ids[0], ids[1]); conn.post = conn.post.Args("/update", xml); var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(ids, null, null), null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void DeleteById() { const string id = "123123"; var conn = new Mocks.MSolrConnection(); conn.post = conn.post .Args("/update", string.Format("<delete><id>{0}</id></delete>", id)); var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(new[] { id }, null, null), null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void DocumentAddParametersOverwriteSpecifiedTrue() { var docSerializer = new SolrDocumentSerializer<TestDocWithString>(new AttributesMappingManager(), new DefaultFieldSerializer()); var conn = new Mocks.MSolrConnection(); conn.post = conn.post .Args("/update", "<add overwrite=\"true\"><doc boost=\"2.1\" /></add>"); var docs = new[] { new KeyValuePair<TestDocWithString, double?>(new TestDocWithString(), 2.1) }; var parameters = new AddParameters { Overwrite = true }; var cmd = new AddCommand<TestDocWithString>(docs, docSerializer, parameters); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void DeleteByMultipleId() { var ids = new[] { "123", "456" }; var conn = new Mocks.MSolrConnection(); var xml = string.Format("<delete><id>{0}</id><id>{1}</id></delete>", ids[0], ids[1]); conn.post = conn.post.Args("/update", xml); var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(ids, null, null), null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void ExecuteWithBasicOptions() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<commit waitSearcher=\"true\" waitFlush=\"true\" />", content); Console.WriteLine(content); return null; }; var cmd = new CommitCommand { WaitFlush = true, WaitSearcher = true }; cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void ExecuteBasic() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<commit />", content); Console.WriteLine(content); return null; }; var cmd = new CommitCommand(); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void FieldBoost() { var docSerializer = new SolrDocumentSerializer <TestDocWithFieldBoost>(new AttributesMappingManager(), new DefaultFieldSerializer()); var conn = new Mocks.MSolrConnection(); conn.post = conn.post .Args("/update", "<add><doc><field name=\"SimpleBoost\" boost=\"20\">simple</field><field name=\"nameandboost\" boost=\"20\">boost</field></doc></add>"); var docs = new[] { new KeyValuePair <TestDocWithFieldBoost, double?>(new TestDocWithFieldBoost(), null) }; var cmd = new AddCommand <TestDocWithFieldBoost>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void ExecuteBasic() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<commit />", content); Console.WriteLine(content); return(null); }; var cmd = new CommitCommand(); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void SupportsDocumentWithStringCollection() { var docSerializer = new SolrDocumentSerializer <TestDocWithCollections>(new AttributesMappingManager(), new DefaultFieldSerializer()); var conn = new Mocks.MSolrConnection(); conn.post = conn.post .Args("/update", "<add><doc><field name=\"coll\">one</field><field name=\"coll\">two</field></doc></add>"); var docs = new[] { new KeyValuePair <TestDocWithCollections, double?>(new TestDocWithCollections(), null), }; var cmd = new AddCommand <TestDocWithCollections>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void GetSchemaCommand() { var conn = new Mocks.MSolrConnection(); conn.get += (url, kvs) => { Assert.AreEqual("/admin/file", url); var expectedKVs = new[] { KV.Create("file", "schema.xml") }; Assert.AreElementsEqualIgnoringOrder(expectedKVs, kvs); return(""); }; var cmd = new GetSchemaCommand(); cmd.Execute(conn); Assert.AreEqual(1, conn.get.Calls); }
public void ExecuteWithAllParameters() { var parameters = new ExtractParameters(null, "1", "text.doc"); var conn = new MSolrConnection(); conn.postStream += (url, type, stream, kvs) => { Assert.AreEqual("/update/extract", url); Assert.AreEqual("application/word-document", type); var p = new[] { KV.Create("literal.id", parameters.Id), KV.Create("resource.name", parameters.ResourceName), KV.Create("literal.field1", "value1"), KV.Create("literal.field2", "value2"), KV.Create("stream.type", "application/word-document"), KV.Create("commit", "true"), KV.Create("uprefix", "pref"), KV.Create("defaultField", "field1"), KV.Create("extractOnly", "true"), KV.Create("extractFormat", "text"), KV.Create("capture", "html"), KV.Create("captureAttr", "true"), KV.Create("xpath", "body"), KV.Create("lowernames", "true") }; CollectionAssert.AreEquivalent(p, kvs); return ""; }; var cmd = new ExtractCommand(new ExtractParameters(null, "1", "text.doc") { AutoCommit = true, Capture = "html", CaptureAttributes = true, DefaultField = "field1", ExtractOnly = true, ExtractFormat = ExtractFormat.Text, Fields = new[] { new ExtractField("field1", "value1"), new ExtractField("field2", "value2") }, LowerNames = true, XPath = "body", Prefix = "pref", StreamType = "application/word-document" }); cmd.Execute(conn); Assert.AreEqual(1, conn.postStream.Calls); }
public void AddWithParameters() { var xml = EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"); var connection = new MSolrConnection(); connection.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<add commitWithin=\"4343\" overwrite=\"false\"><doc /></add>", content); return xml; }; var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); var headerParser = new MSolrHeaderResponseParser(); headerParser.parse = headerParser.parse.Return(null); var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, null, docSerializer, null, headerParser, null, null, null); var parameters = new AddParameters { CommitWithin = 4343, Overwrite = false }; ops.AddWithBoost(new[] { new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), null), }, parameters); Assert.AreEqual(1, connection.post.Calls); }
public void DocumentAddParametersOverwriteSpecifiedFalse() { var docSerializer = new SolrDocumentSerializer <TestDocWithString>(new AttributesMappingManager(), new DefaultFieldSerializer()); var conn = new Mocks.MSolrConnection(); conn.post = conn.post .Args("/update", "<add overwrite=\"false\"><doc boost=\"2.1\" /></add>"); var docs = new[] { new KeyValuePair <TestDocWithString, double?>(new TestDocWithString(), 2.1) }; var parameters = new AddParameters { Overwrite = false }; var cmd = new AddCommand <TestDocWithString>(docs, docSerializer, parameters); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void DeleteByQuery() { const string queryString = "someQuery"; var q = new SolrQuery(queryString); var xml = string.Format("<delete><query>{0}</query></delete>", queryString); var conn = new Mocks.MSolrConnection(); conn.post = conn.post.Args("/update", xml); var querySerializer = new Mocks.MSolrQuerySerializer(); querySerializer.serialize += _ => queryString; var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(null, q, querySerializer), null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void Execute() { var parameters = new ExtractParameters(null, "1", "text.doc"); var conn = new MSolrConnection(); conn.postStream += (url, b, stream, kvs) => { Assert.AreEqual("/update/extract", url); var p = new[] { KV.Create("literal.id", parameters.Id), KV.Create("resource.name", parameters.ResourceName), }; Assert.AreElementsEqualIgnoringOrder(p, kvs); return ""; }; var cmd = new ExtractCommand(parameters); cmd.Execute(conn); Assert.AreEqual(1, conn.postStream.Calls); }
public void Execute() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<add><doc><field name=\"Id\">id</field><field name=\"Flower\">23.5</field></doc></add>", content); Console.WriteLine(content); return null; }; var docSerializer = new SolrDocumentSerializer<SampleDoc>(new AttributesMappingManager(), new DefaultFieldSerializer()); var docs = new[] { new KeyValuePair<SampleDoc, double?>(new SampleDoc(), null), }; var cmd = new AddCommand<SampleDoc>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void AddWithBoost() { var connection = new MSolrConnection(); connection.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<add><doc boost=\"2.1\" /></add>", content); return EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"); }; var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); var headerParser = new MSolrHeaderResponseParser(); headerParser.parse = headerParser.parse.Return(null); var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, null, docSerializer, null, headerParser, null, null, null); ops.AddWithBoost(new[] { new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), 2.1), }, null); Assert.AreEqual(1, connection.post.Calls); }
public void DeleteByIdAndQuery() { var ids = new[] { "123", "456" }; const string queryString = "someQuery"; var xml = string.Format("<delete><id>{0}</id><id>{1}</id><query>{2}</query></delete>", ids[0], ids[1], queryString); var conn = new Mocks.MSolrConnection(); conn.post = conn.post.Args("/update", xml); var q = new SolrQuery(queryString); var querySerializer = new Mocks.MSolrQuerySerializer(); querySerializer.serialize += _ => queryString; var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(ids, q, querySerializer)); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void AtomicUpdateSetEmptyArray() { var conn = new Mocks.MSolrConnection(); conn.postStream += new MFunc <string, string, Stream, IEnumerable <KeyValuePair <string, string> >, string>((url, contentType, content, param) => { string text = new StreamReader(content, Encoding.UTF8).ReadToEnd(); Assert.Equal("/update", url); Assert.Equal("[{\"id\":\"0\",\"animal\":{\"set\":[]}}]", text); Console.WriteLine(text); return(null); }); var updateSpecs = new AtomicUpdateSpec[] { new AtomicUpdateSpec("animal", AtomicUpdateType.Set, new string[] {}) }; var cmd = new AtomicUpdateCommand("id", "0", updateSpecs, null); cmd.Execute(conn); Assert.Equal(1, conn.postStream.Calls); }
public void AtomicUpdateRemoveRegexArray() { var conn = new Mocks.MSolrConnection(); conn.postStream += new MFunc <string, string, Stream, IEnumerable <KeyValuePair <string, string> >, string>((url, contentType, content, param) => { string text = new StreamReader(content, Encoding.UTF8).ReadToEnd(); Assert.Equal("/update", url); Assert.Equal("[{\"id\":\"0\",\"food\":{\"removeregex\":[\"nu.*\",\"seeds\",\"berr.+\"]}}]", text); Console.WriteLine(text); return(null); }); var updateSpecs = new AtomicUpdateSpec[] { new AtomicUpdateSpec("food", AtomicUpdateType.RemoveRegex, new string[] { "nu.*", "seeds", "berr.+" }) }; var cmd = new AtomicUpdateCommand("id", "0", updateSpecs, null); cmd.Execute(conn); Assert.Equal(1, conn.postStream.Calls); }
public void ExecuteWithBasicOptions() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<commit waitSearcher=\"true\" waitFlush=\"true\" />", content); Console.WriteLine(content); return(null); }; var cmd = new CommitCommand { WaitFlush = true, WaitSearcher = true }; cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void DocumentBoost() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<add><doc boost=\"2.1\" /></add>", content); Console.WriteLine(content); return(null); }; var docSerializer = new SolrDocumentSerializer <TestDocWithString>(new AttributesMappingManager(), new DefaultFieldSerializer()); var docs = new[] { new KeyValuePair <TestDocWithString, double?>(new TestDocWithString(), 2.1) }; var cmd = new AddCommand <TestDocWithString>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void AtomicUpdateCommandNameInvariantCulture() { var conn = new Mocks.MSolrConnection(); conn.postStream += new MFunc <string, string, Stream, IEnumerable <KeyValuePair <string, string> >, string>((url, contentType, content, param) => { string text = new StreamReader(content, Encoding.UTF8).ReadToEnd(); Assert.Equal("/update", url); Assert.Equal("[{\"id\":\"0\",\"count\":{\"inc\":1}}]", text); Console.WriteLine(text); return(null); }); var updateSpecs = new AtomicUpdateSpec[] { new AtomicUpdateSpec("count", AtomicUpdateType.Inc, 1) }; var cmd = new AtomicUpdateCommand("id", "0", updateSpecs, null); cmd.Execute(conn); Assert.Equal(1, conn.postStream.Calls); }
public void AtomicUpdateAdd() { var conn = new Mocks.MSolrConnection(); conn.postStream += new MFunc <string, string, Stream, IEnumerable <KeyValuePair <string, string> >, string>((url, contentType, content, param) => { string text = new StreamReader(content, Encoding.UTF8).ReadToEnd(); Assert.Equal("/update", url); Assert.Equal("[{\"id\":\"0\",\"food\":{\"add\":\"nuts\"}}]", text); testOutputHelper.WriteLine(text); return(null); }); var updateSpecs = new AtomicUpdateSpec[] { new AtomicUpdateSpec("food", AtomicUpdateType.Add, "nuts") }; var cmd = new AtomicUpdateCommand("id", "0", updateSpecs, null); cmd.Execute(conn); Assert.Equal(1, conn.postStream.Calls); }
public void ExecuteWithAllOptions() { var conn = new MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<optimize waitSearcher=\"true\" waitFlush=\"true\" expungeDeletes=\"true\" maxSegments=\"2\" />", content); Console.WriteLine(content); return null; }; var cmd = new OptimizeCommand { MaxSegments = 2, ExpungeDeletes = true, WaitFlush = true, WaitSearcher = true }; cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void Add() { var xml = EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"); var connection = new MSolrConnection(); connection.post = connection.post .Expect(1) .Args("/update", "<add><doc /></add>") .Return(xml); var headerParser = new MSolrHeaderResponseParser(); headerParser.parse = headerParser.parse.Return(null); var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer()); var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, null, docSerializer, null, headerParser, null, null, null); ops.AddWithBoost(new[] { new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), null), }, null); connection.post.Verify(); }
public void DeleteFromPending() { const string id = "123123"; var conn = new Mocks.MSolrConnection(); var xml = string.Format("<delete fromPending=\"true\"><id>{0}</id></delete>", id); conn.post = conn.post.Args("/update", xml); var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(new[] { id }, null, null), null) { FromPending = true }; cmd.Execute(conn); Assert.Equal(1, conn.post.Calls); }
public void Execute() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<add><doc><field name=\"Id\">id</field><field name=\"Flower\">23.5</field></doc></add>", content); Console.WriteLine(content); return(null); }; var docSerializer = new SolrDocumentSerializer <SampleDoc>(new AttributesMappingManager(), new DefaultFieldSerializer()); var docs = new[] { new KeyValuePair <SampleDoc, double?>(new SampleDoc(), null), }; var cmd = new AddCommand <SampleDoc>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void DeleteByQuery() { const string queryString = "someQuery"; var q = new SolrQuery(queryString); var xml = string.Format("<delete><query>{0}</query></delete>", queryString); var conn = new Mocks.MSolrConnection(); conn.post = conn.post.Args("/update", xml); var querySerializer = new Mocks.MSolrQuerySerializer(); querySerializer.serialize += _ => queryString; var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(null, q, querySerializer)); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void DeleteByIdAndQuery() { var ids = new[] { "123", "456" }; const string queryString = "someQuery"; var xml = string.Format("<delete><id>{0}</id><id>{1}</id><query>{2}</query></delete>", ids[0], ids[1], queryString); var conn = new Mocks.MSolrConnection(); conn.post = conn.post.Args("/update", xml); var q = new SolrQuery(queryString); var querySerializer = new Mocks.MSolrQuerySerializer(); querySerializer.serialize += _ => queryString; var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(ids, q, querySerializer), null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void ExecuteWithAllOptions() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.Equal("/update", url); Assert.Equal("<commit waitSearcher=\"true\" waitFlush=\"true\" expungeDeletes=\"true\" maxSegments=\"2\" />", content); testOutputHelper.WriteLine(content); return(null); }; var cmd = new CommitCommand { MaxSegments = 2, ExpungeDeletes = true, WaitFlush = true, WaitSearcher = true }; cmd.Execute(conn); Assert.Equal(1, conn.post.Calls); }
public void AtomicUpdateWithParameter() { var conn = new Mocks.MSolrConnection(); conn.postStream += new MFunc <string, string, Stream, IEnumerable <KeyValuePair <string, string> >, string>((url, contentType, content, param) => { string text = new StreamReader(content, Encoding.UTF8).ReadToEnd(); Assert.Equal("/update", url); Assert.Equal("commitwithin", ((KeyValuePair <string, string>[])param)[0].Key); Assert.Equal("4343", ((KeyValuePair <string, string>[])param)[0].Value); Assert.Equal("[{\"id\":\"0\",\"count\":{\"inc\":3}}]", text); testOutputHelper.WriteLine(text); return(null); }); var parameters = new AtomicUpdateParameters { CommitWithin = 4343 }; var updateSpecs = new AtomicUpdateSpec[] { new AtomicUpdateSpec("count", AtomicUpdateType.Inc, 3) }; var cmd = new AtomicUpdateCommand("id", "0", updateSpecs, parameters); cmd.Execute(conn); Assert.Equal(1, conn.postStream.Calls); }
public void AtomicUpdateSerialization() { var conn = new Mocks.MSolrConnection(); conn.postStream += new MFunc <string, string, Stream, IEnumerable <KeyValuePair <string, string> >, string>((url, contentType, content, param) => { string text = new StreamReader(content, Encoding.UTF8).ReadToEnd(); Assert.Equal("/update", url); Assert.Equal("[{" + "\"id\":\"0\"," + "\"quote\":{\"set\":\"\\\"quoted\\\"\"}," + "\"backslashInText\":{\"set\":\"y\\\\n\"}," + "\"newLineInText\":{\"set\":\"line1\\nline2\"}" + "}]", text); testOutputHelper.WriteLine(text); return(null); }); /* This document is equivalent to: * { * id = 0; * quote = "quoted"; * backslashInText = y\n; * newLineInText = line1 * line2; * } */ var updateSpecs = new AtomicUpdateSpec[] { new AtomicUpdateSpec("quote", AtomicUpdateType.Set, "\"quoted\""), new AtomicUpdateSpec("backslashInText", AtomicUpdateType.Set, "y\\n"), new AtomicUpdateSpec("newLineInText", AtomicUpdateType.Set, "line1\nline2") }; var cmd = new AtomicUpdateCommand("id", "0", updateSpecs, null); cmd.Execute(conn); Assert.Equal(1, conn.postStream.Calls); }
public void DeleteByQueryString() { const string q = "id:123456"; var conn = new MSolrConnection(); conn.post &= x => x.Args("/update", string.Format("<delete><query>{0}</query></delete>", q)) .Expect(1); Solr.Connection = conn; Solr.Delete.ByQuery(q); conn.post.Verify(); }
public void FacetField_options() { var conn = new MSolrConnection(); conn.get &= x => x.Return(response); Solr.Connection = conn; var r = Solr.Query<TestDocument>().By("makedesc").Is("bmw") .WithFacetField("modeldesc") .LimitTo(100) .DontSortByCount() .WithPrefix("xx") .WithMinCount(10) .StartingAt(20) .IncludeMissing() .Run(); }
public void MultiCore_Rebind_IConnection() { var solrServers = new SolrServers { new SolrServerElement { Id = "core-0", Url = "http://*****:*****@"<?xml version=""1.0"" encoding=""UTF-8""?> <response> <lst name=""responseHeader""><int name=""status"">0</int><int name=""QTime"">0</int><lst name=""params""><str name=""q"">id:123456</str><str name=""?""/><str name=""version"">2.2</str></lst></lst><result name=""response"" numFound=""1"" start=""0""><doc></doc></result> </response> "; var solr1 = kernel.Get<ISolrOperations<Entity>>("core-0"); Assert.IsNotNull(solr1); Assert.Throws<SolrConnectionException>(() => solr1.Query("SomeField:Value")); MSolrConnection conn = new MSolrConnection(); conn.get &= x => x.Return(Response); kernel.Rebind<ISolrConnection>().ToConstant(conn).WithMetadata("CoreId", "core-0"); kernel.Rebind<ISolrConnection>().ToConstant(conn).WithMetadata("CoreId", "core-1"); var solr2 = kernel.Get<ISolrOperations<Entity>>("core-1"); Assert.IsNotNull(solr2); var r = solr2.Query("SomeField:Value"); Assert.AreEqual(1, r.NumFound); }
public void DeleteFromCommittedAndFromPending() { const string id = "123123"; var conn = new Mocks.MSolrConnection(); var xml = string.Format("<delete fromPending=\"false\" fromCommitted=\"false\"><id>{0}</id></delete>", id); conn.post = conn.post.Args("/update", xml); var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(new[] { id }, null, null), null) { FromCommitted = false, FromPending = false }; cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void FieldBoost() { var docSerializer = new SolrDocumentSerializer<TestDocWithFieldBoost>(new AttributesMappingManager(), new DefaultFieldSerializer()); var conn = new Mocks.MSolrConnection(); conn.post = conn.post .Args("/update", "<add><doc><field name=\"SimpleBoost\" boost=\"20\">simple</field><field name=\"nameandboost\" boost=\"20\">boost</field></doc></add>"); var docs = new[] { new KeyValuePair<TestDocWithFieldBoost, double?>(new TestDocWithFieldBoost(), null) }; var cmd = new AddCommand<TestDocWithFieldBoost>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void FacetQuery_string() { var conn = new MSolrConnection(); conn.get &= x => x.Return(response); Solr.Connection = conn; var r = Solr.Query<TestDocument>().By("makedesc").Is("bmw").WithFacetQuery("").Run(); }
public void Optimize() { var conn = new MSolrConnection(); conn.post &= x => x.Args("/update", "<optimize />"); Solr.Connection = conn; Solr.Optimize(); Assert.AreEqual(1, conn.post.Calls); }
public void QueryWithPagination() { var conn = new MSolrConnection(); conn.get &= x => x.Return(response); Solr.Connection = conn; var r = Solr.Query<TestDocument>("", 10, 20); Assert.AreEqual(1, r.NumFound); }
public void Query_InvalidField_ShouldNOTThrow() { const string response = @"<?xml version=""1.0"" encoding=""UTF-8""?> <response> <lst name=""responseHeader""><int name=""status"">0</int><int name=""QTime"">0</int><lst name=""params""><str name=""q"">id:123456</str><str name=""?""/><str name=""version"">2.2</str></lst></lst><result name=""response"" numFound=""1"" start=""0""><doc><str name=""advancedview""/><str name=""basicview""/><int name=""id"">123456</int></doc></result> </response>"; var conn = new MSolrConnection(); conn.get &= x => x.Return(response); Solr.Connection = conn; Solr.Query<TestDocument>(""); }
public void OptimizeWithParams() { var conn = new MSolrConnection(); conn.post &= x => x.Args("/update", "<optimize waitSearcher=\"true\" waitFlush=\"true\" />"); Solr.Connection = conn; Solr.Optimize(true, true); Assert.AreEqual(1, conn.post.Calls); }
public void DocumentBoost() { var conn = new Mocks.MSolrConnection(); conn.post += (url, content) => { Assert.AreEqual("/update", url); Assert.AreEqual("<add><doc boost=\"2.1\" /></add>", content); Console.WriteLine(content); return null; }; var docSerializer = new SolrDocumentSerializer<TestDocWithString>(new AttributesMappingManager(), new DefaultFieldSerializer()); var docs = new[] { new KeyValuePair<TestDocWithString, double?>(new TestDocWithString(), 2.1) }; var cmd = new AddCommand<TestDocWithString>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void SupportsDocumentWithStringCollection() { var docSerializer = new SolrDocumentSerializer<TestDocWithCollections>(new AttributesMappingManager(), new DefaultFieldSerializer()); var conn = new Mocks.MSolrConnection(); conn.post = conn.post .Args("/update", "<add><doc><field name=\"coll\">one</field><field name=\"coll\">two</field></doc></add>"); var docs = new[] { new KeyValuePair<TestDocWithCollections, double?>(new TestDocWithCollections(), null), }; var cmd = new AddCommand<TestDocWithCollections>(docs, docSerializer, null); cmd.Execute(conn); Assert.AreEqual(1, conn.post.Calls); }
public void DeleteById() { const string id = "123456"; var conn = new MSolrConnection(); conn.post &= x => x.Args("/update", string.Format("<delete><id>{0}</id></delete>", id)); conn.post &= x => x.Expect(1); Solr.Connection = conn; Solr.Delete.ById(id); conn.post.Verify(); }