Question

Running on Tomcate windows xp with solrNet with using solrnet.dll and Microsoft.Practices.ServiceLocation.dll and I am getting error The Remote server return an error.(400) Bad Request.

when add content on this code

solr.Add(new Article()
    {
        _id = 1,
        _title = "My Laptop",
        _content = "My laptop is portable power station",
        _tags = new List<string>() {
        "laptop","computer","device"
        }

    });

i am using code below...

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SolrNet;
using SolrNet.Attributes;
using SolrNet.Commands.Parameters;
using Microsoft.Practices.ServiceLocation;

namespace solrIndex_creator
{

 class Article
  {
    [SolrUniqueKey("id1")]
    public int _id { get; set; }

    [SolrField("title1")]
    public string _title { get; set; }

    [SolrField("content1")]
    public string _content { get; set; }

    [SolrField("tag1")]
    public List<string> _tags { get; set; }

    ISolrOperations<Article> solr;

   public void _write_Data()
    {
      Startup.Init<Article>("http://localhost:8080/solr/");
      solr = ServiceLocator.Current.GetInstance<ISolrOperations<Article>>();

       solr.Add(new Article()
        {
            _id = 1,
            _title = "My Laptop",
            _content = "My laptop is portable power station",
            _tags = new List<string>() {
            "laptop","computer","device"
            }

        });

       solr.Add(new Article()
        {
            _id = 2,
            _title = "my iphone",
            _content = "my iphone consumes power",
            _tags = new List<string>() {   
                "phone",   
                "apple",  
                "device"  
            }
        });

        solr.Add(new Article()
        {
            _id = 3,
            _title = "your blackberry",
            _content = "your blackberry has an alt key",
            _tags = new List<string>() {   
            "phone",   
            "rim",  
            "device"  
            }
        });
        solr.Commit();
    }
Was it helpful?

Solution

This error is probably related to a mismatch with your Solr schema.xml <fields> settings and your Article class. You should be able to debug your program and examine the Bad Request error for more details on what the issue is. Or you can examine the server logs for Solr (in your hosting container e.g. Jetty, Tomcat) for more details as well.

Additionally, I would change your Tags property on the Article class to be the more generic ICollection like the multiValued examples on the SolrNet Mapping wiki.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top