2

This is my first attempt using elasticsearch. I'm not sure how to troubleshoot the JsonReaderException error below.

var result = client.Bulk(d => descriptor);

results in an exception error

An exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll but was not handled in user code

Additional information: Error reading string. Unexpected token: StartObject. Path 'items[0].index.error', line 1, position 108.

var client = new ElasticClient();
client.DeleteIndex("Tracks");
client.CreateIndex("Tracks", c => c
.NumberOfReplicas(1)
.NumberOfShards(6)
.AddMapping<vw_MusicTracks>(m => m.MapFromAttributes()));

var descriptor = new BulkDescriptor();
var context = new MerchEntities();
var sqlTracks = context.vw_MusicTracks.ToList<vw_MusicTracks>();

foreach (var order in sqlTracks)
{
    descriptor.Index<vw_MusicTracks>(op => op.Index("Tracks").Document(order).Type("Track").Id(order.IMUTrackId));
}
    var result = client.Bulk(d => descriptor);
Console.WriteLine("job's done");
Console.ReadKey();

vw_MusicRules.cs

using Nest;
using System.ComponentModel.DataAnnotations;
using System;
using System.Collections.Generic;
namespace MusicStore
{

      [ElasticType(Name = "Track", IdProperty = "IMUTrackId")]
    public partial class vw_MusicTracks
    {
          [Key]
        public int IMUTrackId { get; set; }
        public int IMUTrackTypeId { get; set; }
        public int AreaId { get; set; }
        public int GenreId { get; set; }
        public int CityId { get; set; }
        public int ArtistId { get; set; }
        public System.DateTime Live { get; set; }
        public Nullable<System.DateTime> LiveThrough { get; set; }
        public decimal Value { get; set; }
        public short Priority { get; set; }
        public System.DateTime LastModified { get; set; }
        public int LastModifierId { get; set; }
        public System.DateTime Created { get; set; }
        public string IMUTrackType { get; set; }
        public string ModifierUserName { get; set; }
        public string ModifierFirstName { get; set; }
        public string ModifierLastName { get; set; }
        public string ModifierEmail { get; set; }
        public string AreaName { get; set; }
        public Nullable<int> Department { get; set; }
        public Nullable<int> Class { get; set; }
        public Nullable<int> SubClass { get; set; }
        public string Class { get; set; }
        public string GenreName { get; set; }
        public string ArtistName { get; set; }
        public string CityName { get; set; }
    }
}

Serialized sqlTracks

[
    {
        "IMUTrackId": 3,
        "IMUTrackTypeId": 1,
        "AreaId": 1,
        "GenreId": -1,
        "CityId": -1,
        "ArtistId": -1,
        "Live": "2014-01-01T00:00:00",
        "LiveThrough": "2015-11-11T00:00:00",
        "Value": 1.2195,
        "Priority": 1,
        "LastModified": "2014-02-25T00:00:00",
        "LastModifierId": 218,
        "Created": "2014-02-25T00:00:00",
        "IMUTrackType": "Mult",
        "ModifierUserName": "SystemUser",
        "ModifierFirstName": "First",
        "ModifierLastName": "",
        "ModifierEmail": "[email protected]",
        "AreaName": "Pl",
        "Department": 1,
        "Class": 1a,
        "SubClass": 0,
        "GenreName": "",
        "ArtistName": "",
        "CityName": ""
    }
]

1 Answer 1

3

changing the index to all lower case solved the issue.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.