Я немного борюсь с атрибутами поля в ElasticSearch, тем более что вещи немного изменились с 5.x (к которым я переношу наш код).Атрибуты Elasticarch C# Nest [5.x]
Примером может служить следующее:
[Text(Index = false)]
public string Id { get; set; }
[Keyword]
public string Tags { get; set; }
[Text]
public string Title { get; set; }
У меня есть куча полей, как это, но я стараюсь, чтобы выяснить, лучшие атрибуты для полей, которые следуют за этим:
- Текст поле для поиска AS-IS, не интерпретируемое (например, идентификатор строки). Я хочу, чтобы иметь возможность искать точную строку, ничего больше
- Английский текст, в котором я хочу, чтобы можно было выполнить полный поиск слов и близости.
- Перечисление, в котором значения могут быть сохранены как конечный список строк, и мне нужно использовать это как критерий поиска
- Теги, которые представляют собой список слов, но не образуют предложения; Мне нужно, чтобы иметь возможность искать через эти
- Числа, которые должны быть сохранены, а не для поиска
- Даты, которые должны быть сохранены и для поиска
- Даты, которые должны быть сохранены, но не для поиска
Многие сообщения относятся к документации ES, но я действительно не вижу ясности в документации атрибутов; он, кажется, написан с людьми, которые уже понимают систему в виду. Если у кого-то есть excelsheet, как разбивка атрибута и их эффектов (хранимых, доступных для поиска, анализа и т. Д.), Которые были бы фантастическими
Было очень полезно, спасибо много! Я думаю, что одна из трудностей связана с параллельной документацией из-за того, что драйвер C# является своей собственностью; имеет ли смысл в конечном итоге сделать что-то вроде MSDN, где образцы .NET находятся как в C#, так и в VB, и обе версии находятся в одном документе? в их случае у вас есть переключатель, чтобы решить, какой язык посмотреть, но страницы одинаковы, что лучше для индексации поиска. – Thomas