我正在使用以下代码在.net核心应用程序中使用NEST索引文档和测试结果。 但是它没有返回任何记录。
因此我做错了索引编制或查询问题。
是弹性搜索的新手。因此,当我尝试索引文本文件的文本并搜索它进行测试时,不知道以下代码有什么问题。
private static void Index()
{
var settings = new ConnectionSettings().DefaultIndex("ProjectDocuments");
var client = new ElasticClient(settings);
//First, you need to make the routing required when you are creating your index, like this:
client.CreateIndex("ProjectDocuments", d => d
.Mappings(mapping => mapping
.Map<Document>(map => map
.RoutingField(routing => routing
.Required(true))
.AutoMap())
));
Routing routingFromInt = 1;
Document document = new Document()
{
Id = 1,
Content = "Some Text File Text"
};
IIndexResponse result = client.Index<Document>(document, selector => selector
.Id(1)
.Routing(routingFromInt));
//TODO: Following returns 0. so might be issue with indexing itself.
ISearchResponse<Document> searchResponse = client.Search<Document>(query => query.Query(q => q.MatchAll()).Routing(routingFromInt));
var documents = searchResponse.Documents;
}
答案 0 :(得分:0)
问题使用默认的索引名称。弹性搜索中不支持带有大写字母的索引名。
因此“ ProjectDocuments ”引起了问题。将其更改为“ project_documents ”并开始工作。