本文整理汇总了C#中SolrBasicServer类的典型用法代码示例。如果您正苦于以下问题:C# SolrBasicServer类的具体用法?C# SolrBasicServer怎么用?C# SolrBasicServer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SolrBasicServer类属于命名空间,在下文中一共展示了SolrBasicServer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Add
public void Add()
{
var mocks = new MockRepository();
var connection = mocks.StrictMock<ISolrConnection>();
var executer = mocks.StrictMock<ISolrQueryExecuter<TestDocumentWithoutUniqueKey>>();
var headerParser = mocks.StrictMock<ISolrHeaderResponseParser>();
var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer());
With.Mocks(mocks)
.Expecting(() => {
Expect.On(connection)
.Call(connection.Post("/update", "<add><doc /></add>"))
.Repeat.Once()
.Return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"));
Expect.On(headerParser)
.Call(headerParser.Parse(null))
.IgnoreArguments()
.Return(new ResponseHeader());
})
.Verify(() => {
var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, executer, docSerializer, null, headerParser, null, null, null);
ops.AddWithBoost(new[] {
new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), null),
}, null);
});
}
示例2: AddWithBoost
public void AddWithBoost()
{
var mocks = new MockRepository();
var connection = mocks.CreateMock<ISolrConnection>();
var executer = mocks.CreateMock<ISolrQueryExecuter<TestDocumentWithoutUniqueKey>>();
var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer());
With.Mocks(mocks)
.Expecting(() => Expect.Call(connection.Post("/update", "<add><doc boost=\"2.1\" /></add>"))
.Repeat.Once()
.Return(null))
.Verify(() => {
var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, executer, docSerializer);
ops.AddWithBoost(new[] {new KeyValuePair<TestDocumentWithoutUniqueKey, double?>(new TestDocumentWithoutUniqueKey(), 2.1),});
});
}
示例3: FilterQueries
public void FilterQueries()
{
var conn = new MockConnection(new Dictionary<string, string> {
{"fq", "id:0"},
{"q", "*:*"},
{"rows", "100000000"},
});
var mocks = new MockRepository();
var queryExec = mocks.StrictMock<ISolrQueryExecuter<Document>>();
var docSerializer = mocks.StrictMock<ISolrDocumentSerializer<Document>>();
ISolrBasicReadOnlyOperations<Document> solr = new SolrBasicServer<Document>(conn, queryExec, docSerializer, null, null, null, null, null);
solr.Query(SolrQuery.All, new QueryOptions {
FilterQueries = new[] {new SolrQuery("id:0")},
});
}
示例4: AddWithParameters
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);
}
示例5: AddWithBoost
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);
}
示例6: Add
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();
}
示例7: Collection
public void Collection()
{
var conn = new MockConnection(new Dictionary<string, string> {
{"fq", "id:0"},
{"q", "*:*"},
{"rows", "100000000"},
});
var mocks = new MockRepository();
var queryExec = mocks.StrictMock<ISolrQueryExecuter<Document>>();
var docSerializer = mocks.StrictMock<ISolrDocumentSerializer<Document>>();
ISolrBasicReadOnlyOperations<Document> solr = new SolrBasicServer<Document>(conn, queryExec, docSerializer, null, null, null, null, null);
var linqQuery = from doc in solr.AsQueryable()
where doc.Categories.AnyItem() == "cat1"
select doc;
QueryOptions qo;
var resDocs = ((IQueryableSolrNet<Document>)linqQuery).GetSolrQuery(out qo);
Assert.AreEqual("(cat:cat1)", resDocs.Query);
}
示例8: Boosting
public void Boosting()
{
var conn = new MockConnection(new Dictionary<string, string> {
{"fq", "id:0"},
{"q", "*:*"},
{"rows", "100000000"},
});
var mocks = new MockRepository();
var queryExec = mocks.StrictMock<ISolrQueryExecuter<Document>>();
var docSerializer = mocks.StrictMock<ISolrDocumentSerializer<Document>>();
ISolrBasicReadOnlyOperations<Document> solr = new SolrBasicServer<Document>(conn, queryExec, docSerializer, null, null, null, null, null);
var linqQuery = from doc in solr.AsQueryable()
where (doc.Name == "john").Boost(10)
select doc;
QueryOptions qo;
var resDocs = ((IQueryableSolrNet<Document>)linqQuery).GetSolrQuery(out qo);
Assert.AreEqual("(name:john)^10", resDocs.Query);
}
示例9: AndsOrs
public void AndsOrs()
{
var conn = new MockConnection(new Dictionary<string, string> {
{"fq", "id:0"},
{"q", "*:*"},
{"rows", "100000000"},
});
var mocks = new MockRepository();
var queryExec = mocks.StrictMock<ISolrQueryExecuter<Document>>();
var docSerializer = mocks.StrictMock<ISolrDocumentSerializer<Document>>();
ISolrBasicReadOnlyOperations<Document> solr = new SolrBasicServer<Document>(conn, queryExec, docSerializer, null, null, null, null, null);
var linqQuery = from doc in solr.AsQueryable()
where doc.DefaultFieldEquals("aa") && (doc.Price >= 1 || doc.Price <= 11)
select doc;
QueryOptions qo;
var resDocs = ((IQueryableSolrNet<Document>)linqQuery).GetSolrQuery(out qo);
Assert.AreEqual("(aa AND ((price:[1 TO *]) OR (price:[* TO 11])))", resDocs.Query);
}
示例10: Extract
public void Extract()
{
var mocks = new MockRepository();
var connection = mocks.StrictMock<ISolrConnection>();
var executer = mocks.StrictMock<ISolrQueryExecuter<TestDocumentWithoutUniqueKey>>();
var headerParser = mocks.StrictMock<ISolrHeaderResponseParser>();
var extractResponseParser = mocks.StrictMock<ISolrExtractResponseParser>();
var docSerializer = new SolrDocumentSerializer<TestDocumentWithoutUniqueKey>(new AttributesMappingManager(), new DefaultFieldSerializer());
var parameters = new ExtractParameters(null, "1", "test.doc");
With.Mocks(mocks)
.Expecting(() => {
Expect.On(connection)
.Call(connection.PostStream("/update/extract", null, parameters.Content, new List<KeyValuePair<string, string>> {
new KeyValuePair<string, string>("literal.id", parameters.Id),
new KeyValuePair<string, string>("resource.name", parameters.ResourceName),
}))
.Repeat.Once()
.Return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.responseWithExtractContent.xml"));
Expect.On(extractResponseParser)
.Call(extractResponseParser.Parse(null))
.IgnoreArguments()
.Return(new ExtractResponse(null));
})
.Verify(() => {
var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, executer, docSerializer, null, headerParser, null, null, extractResponseParser);
ops.Extract(parameters);
});
}
示例11: DeleteByQuery
public void DeleteByQuery()
{
var mocks = new MockRepository();
var connection = mocks.StrictMock<ISolrConnection>();
var headerParser = mocks.StrictMock<ISolrHeaderResponseParser>();
var executer = mocks.StrictMock<ISolrQueryExecuter<TestDocumentWithUniqueKey>>();
var docSerializer = mocks.StrictMock<ISolrDocumentSerializer<TestDocumentWithUniqueKey>>();
var querySerializer = mocks.StrictMock<ISolrQuerySerializer>();
With.Mocks(mocks)
.Expecting(() => {
Expect.On(querySerializer)
.Call(querySerializer.Serialize(null))
.IgnoreArguments()
.Return("id:123");
Expect.On(connection)
.Call(connection.Post("/update", "<delete><query>id:123</query></delete>"))
.Repeat.Once()
.Return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"));
Expect.On(headerParser)
.Call(headerParser.Parse(null))
.IgnoreArguments()
.Return(new ResponseHeader());
})
.Verify(() => {
var ops = new SolrBasicServer<TestDocumentWithUniqueKey>(connection, executer, docSerializer, null, headerParser, querySerializer, null, null);
ops.Delete(null, new SolrQuery("id:123"));
});
}
示例12: DeleteByMultipleId
public void DeleteByMultipleId()
{
var mocks = new MockRepository();
var connection = mocks.StrictMock<ISolrConnection>();
var headerParser = mocks.StrictMock<ISolrHeaderResponseParser>();
var executer = mocks.StrictMock<ISolrQueryExecuter<TestDocumentWithUniqueKey>>();
var docSerializer = mocks.StrictMock<ISolrDocumentSerializer<TestDocumentWithUniqueKey>>();
var validationManager = mocks.StrictMock<IMappingValidator>();
With.Mocks(mocks)
.Expecting(() => {
Expect.On(connection)
.Call(connection.Post("/update", "<delete><id>0</id><id>0</id></delete>"))
.Repeat.Once()
.Return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"));
Expect.On(headerParser)
.Call(headerParser.Parse(null))
.IgnoreArguments()
.Return(new ResponseHeader());
})
.Verify(() => {
var basic = new SolrBasicServer<TestDocumentWithUniqueKey>(connection, executer, docSerializer, null, headerParser, null, null, null);
var ops = new SolrServer<TestDocumentWithUniqueKey>(basic, new AttributesMappingManager(), validationManager);
ops.Delete(new[] {
new TestDocumentWithUniqueKey(),
new TestDocumentWithUniqueKey(),
});
});
}
示例13: CommitWithOptions2_WaitSearcher
public void CommitWithOptions2_WaitSearcher()
{
var mocks = new MockRepository();
var connection = mocks.StrictMock<ISolrConnection>();
var headerParser = mocks.StrictMock<ISolrHeaderResponseParser>();
var executer = mocks.StrictMock<ISolrQueryExecuter<TestDocumentWithoutUniqueKey>>();
var docSerializer = mocks.StrictMock<ISolrDocumentSerializer<TestDocumentWithoutUniqueKey>>();
With.Mocks(mocks)
.Expecting(() => {
Expect.On(connection)
.Call(connection.Post("/update", "<commit waitSearcher=\"false\" waitFlush=\"true\" />"))
.Repeat.Once()
.Return(EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml"));
Expect.On(headerParser)
.Call(headerParser.Parse(null))
.IgnoreArguments()
.Return(new ResponseHeader());
})
.Verify(() => {
var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, executer, docSerializer, null, headerParser, null, null, null);
ops.Commit(new CommitOptions { WaitSearcher = false });
});
}
示例14: FacetQuery
public void FacetQuery()
{
var connection = new MSolrConnection();
connection.get += (url, param) => {
Assert.AreEqual("/select", url);
var expectedParams = new Dictionary<string, string> {
{"q", ""},
{"rows", SolrQueryExecuter<TestDocumentWithUniqueKey>.ConstDefaultRows.ToString()},
{"facet", "true"},
{"facet.query", "id:1"},
};
Assert.AreElementsEqualIgnoringOrder(expectedParams, param);
return EmbeddedResource.GetEmbeddedString(GetType(), "Resources.response.xml");
};
var querySerializer = new DefaultQuerySerializer(new DefaultFieldSerializer());
var facetQuerySerializer = new DefaultFacetQuerySerializer(querySerializer, new DefaultFieldSerializer());
var parser = new MSolrAbstractResponseParser<TestDocumentWithUniqueKey>();
parser.parse &= x => x.Stub();
var executer = new SolrQueryExecuter<TestDocumentWithUniqueKey>(parser, connection, querySerializer, facetQuerySerializer, null);
var solr = new SolrBasicServer<TestDocumentWithUniqueKey>(connection, executer, null, null, null, null, null, null);
var r = solr.Query(new SolrQuery(""), new QueryOptions {
Facet = new FacetParameters {
Queries = new ISolrFacetQuery[] {
new SolrFacetQuery(new SolrQuery("id:1")),
},
}
});
Assert.AreEqual(1, connection.get.Calls);
}
示例15: CommitWithOptions
public void CommitWithOptions()
{
var mocks = new MockRepository();
var connection = mocks.CreateMock<ISolrConnection>();
var executer = mocks.CreateMock<ISolrQueryExecuter<TestDocumentWithoutUniqueKey>>();
var docSerializer = mocks.CreateMock<ISolrDocumentSerializer<TestDocumentWithoutUniqueKey>>();
With.Mocks(mocks)
.Expecting(() => Expect.Call(connection.Post("/update", "<commit waitSearcher=\"true\" waitFlush=\"true\" />"))
.Repeat.Once()
.Return(null))
.Verify(() => {
var ops = new SolrBasicServer<TestDocumentWithoutUniqueKey>(connection, executer, docSerializer);
ops.Commit(new WaitOptions());
});
}