Non riesco proprio a ottenere la sintassi corretta per la mappatura multi campo in NEST 2.0, se questa è la terminologia corretta. Ogni esempio che ho trovato per la mappatura sembra essere < = la versione 1.x di NEST. Sono nuovo di Elasticsearch e NEST e ho letto la loro documentazione, ma la documentazione di NEST non è stata completamente aggiornata per 2.x.Creare indice con sintassi di mappatura multi campo con NEST 2.x
Fondamentalmente, non è necessario indicizzare o memorizzare l'intero tipo. Alcuni campi di cui ho bisogno solo per l'indicizzazione, alcuni campi che ho bisogno di indicizzare e recuperare, e alcuni non ho bisogno di indicizzazione, solo per il recupero.
MyType
{
// Index this & allow for retrieval.
int Id { get; set; }
// Index this & allow for retrieval.
// **Also**, in my searching & sorting, I need to sort on this **entire** field, not just individual tokens.
string CompanyName { get; set; }
// Don't index this for searching, but do store for display.
DateTime CreatedDate { get; set; }
// Index this for searching BUT NOT for retrieval/displaying.
string CompanyDescription { get; set; }
// Nest this.
List<MyChildType> Locations { get; set; }
}
MyChildType
{
// Index this & allow for retrieval.
string LocationName { get; set; }
// etc. other properties.
}
Sono hanno stato in grado di indicizzare l'intero oggetto e il bambino così come sono utilizzando il seguente come esempio:
client.Index(item, i => i.Index(indexName));
Tuttavia, l'oggetto reale è molto più grande di questo e davvero non ne ho più bisogno. Ho trovato questo, che sembra quello che penso di voler fare, ma in una versione precedente: multi field mapping elasticsearch
Penso che "mappatura" è quello che sto andando, ma come ho detto, sono nuovo a Elasticsearch e NEST e sto cercando di imparare la terminologia.
Sii gentile! :) È la prima volta che faccio una domanda su SO. Grazie!
Davvero una bella risposta. Sembra funzionare principalmente per me, tuttavia, ho avuto un problema con l'uso di '.Suffix (" raw ")' in Nest 2.4.2 (semplicemente non funzionava). Ho appena usato '+" .raw "' alla fine. – Harvey