Я использую VS2012, .NET 4.5 и SolrNet. Я борюсь с отображениями солрен. Я успешно начал Apache Solr с причала на http://localhost:8983/solr
. Мой класс, который я хочу добавить к Solr является:Solrnet не может получить отображение для работы
public class Register
{
[SolrUniqueKey("id")]
public string Id { get; set; }
[SolrField("body")]
public string Body { get; set; }
}
Я успешно подключиться к Solr, но я не могу поставить мой документ в него:
Startup.Init<Register>(solrAddress);
Solr = ServiceLocator.Current.GetInstance<ISolrOperations<Register>>();
var reg = new Register
{
Id = "SP2514N",
Body = @"Dosel je prosel"
};
Solr.Add(reg);
Solr.Commit();
Здесь я получаю сообщение об ошибке, что «тело '- неизвестное поле. Я также использовал MappingManager, например:
var mgr = new MappingManager();
var property = typeof(Register).GetProperty("Id");
mgr.Add(property, "id");
mgr.SetUniqueKey(property);
mgr.Add(typeof(Register).GetProperty("Body"), "body");
Но, опять же, мое поле не было нанесено на карту. Что я делаю не так? Разве отображение не должно выполняться с помощью кода? Нужен ли мне специальный xml-файл?
Я добавил поле в schema.xml и это работает! Позже у меня возникла проблема с не существующим параметром waitFlush, но, к счастью, это была известная проблема: https://groups.google.com/forum/#!topic/solrnet/gs1GrqSF9Zs – FrenkyB