前言 老规矩,任何技术的入门我通常都会总结增删改查,本文我就通过HttpWebRequest和SolrNet的方式实现Solr最基础的增删改查(CURD)。对于自己的完整项目,同时不想过于依赖第三方类库的则通过Http接口的方式来调用Solr。 当然也 ...
前言
老规矩,任何技术的入门我通常都会总结增删改查,本文我就通过HttpWebRequest和SolrNet的方式实现Solr最基础的增删改查(CURD)。对于自己的完整项目,同时不想过于依赖第三方类库的则通过Http接口的方式来调用Solr。 当然也有人喜欢调用第三方的类库,简单方便,不需要自己处理太多繁琐的细节就可以轻松调用solr来实现自己的业务逻辑。
Http接口实现
private static void Query() { get='_blank'>string url = "http://localhost:8080/solr/univeral/select?indent=on&q=title:魔兽&wt=json"; WebRequest request = WebRequest.Create(url); request.Method = "GET"; WebResponse response = request.GetResponse(); Stream stream = response.GetResponseStream(); using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { string strJson = reader.ReadToEnd(); Console.WriteLine(strJson); } } private static void Index() { string url = "http://localhost:8080/solr/univeral/update?_=1466592530544&wt=json&commit=true"; string strData = @"<add> <doc> <field name='id'>2</field> <field name='title'>平凡的世界(根据路遥同名小说改变)</field> <field name='author'>路遥</field> </doc> </add>"; byte[] bytes; bytes = System.Text.Encoding.UTF8.GetBytes(strData); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.Accept = "*/*"; request.ContentLength = bytes.Length; request.ContentType = "text/"; Stream requestStream = request.GetRequestStream(); requestStream.Write(bytes,0,bytes.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { Stream responseStream = response.GetResponseStream(); string strJson = new StreamReader(responseStream).ReadToEnd(); Console.WriteLine(strJson); } } private static void Delete() { string url = "http://localhost:8080/solr/univeral/update?_=1466592530544&wt=json&commit=true"; string strData = @"<delete><id>2</id></delete>"; byte[] bytes; bytes = System.Text.Encoding.ASCII.GetBytes(strData); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.Accept = "*/*"; request.ContentLength = bytes.Length; request.ContentType = "text/"; Stream requestStream = request.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); requestStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { Stream responseStream = response.GetResponseStream(); string strJson = new StreamReader(responseStream).ReadToEnd(); Console.WriteLine(strJson); } }
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。