Простите меня, если это лишнее или я упускаю что-то простое, но я играю с ElasticSearch (и NEST в частности), чтобы посмотреть, будет ли это хорошим дополнением для функции поиска нашего сайта электронной коммерции b2b.
Я взял последнюю версию NuGet NEST, а затем попытался сериализовать и добавить что-то в индекс. Вот фрагмент подхода, который я использовал
var localhost = new Uri("http://localhost/9200");
var setting = new ConnectionSettings(localhost).SetDefaultIndex("cpi_catalog");
var client = new ElasticClient(setting);
client.MapFromAttributes<Item>();
var testitem = new Item()
{
Description = "test",
Id = 9999999,
Manufacturer_Id = 5,
Quantity_Per_Unit = 1,
Quantity_Unit_Id = "EA",
SKU = "AVE29845",
Subtitle = "test",
Title = "test"
};
var status = client.Index(testitem);
Однако кажется, что testitem вообще никогда не индексируется, когда я выполняю GET для /cpi_catalog/items/9999999, я получаю следующее:
{"_index":"cpi_catalog","_type":"items","_id":"9999999","exists":false}
Какой, казалось бы, простой вещи мне здесь не хватает?
РЕДАКТИРОВАТЬ: при отладке я возвращаю Nest.IndexResponse
со всеми полями NULL
, кроме status.OK
, что равно false
new Uri("http://localhost/9200");
Я думаю, что / должно быть:
также проверьтеtestItem.Isvalid
, чтобы убедиться, что вызов удался. - person Martijn Laarman   schedule 30.01.2014