У меня есть пять общих вопросов по стратегии оптимизации ...
У меня есть случай, когда мне нужно искать по нескольким полям (от 16 до 32).Поля выглядят следующим образом:
- Числовые массивы.Все соответствующие условия поиска должны совпадать.Стоит ли хранить значения в виде ключевых слов или целых чисел?
- Числовые диапазоны с предыдущими идентификаторами атрибутов.Здесь имеет смысл сделать имя поля идентификатором атрибута, например, «a1: 100», где a1 = attribute # 1.Соответствующие поисковые значения должны перекрываться.Это лучший способ сделать это (т.е. установить диапазон значений атрибутов)?
- Текст ... здесь ничего особенного.
Мой четвертый вопрос: я мог бы произвестихэш идентификаторов атрибутов и хранить хэш.Это дало бы чрезвычайно высокую вероятность того, что документ с совпадающим хешем атрибута содержит все обязательные атрибуты, оставляя это утверждение и проверяемые значения.
Хеш, очевидно, будет иметь превосходную мощность.Мой вопрос: поможет ли это ES быстрее найти подходящие документы?Другими словами, полезны ли поля с редкими значениями в запросах, где другие значения полей могут быть очень распространенными?
Помните, в пункте 2 я использую идентификатор атрибута в качестве имени поля, поэтому хеш может не помочь,Я все еще хотел бы знать, полезна ли редкость значений.
Наконец, некоторые поля будут иметь одинаковые значения в потенциально миллионах документов.Лучше ли хранить эти общие поля в отдельном индексе и выполнять ручное «соединение», т. Е. Искать «родительский» идентификатор, где общие поля совпадают, и использовать этот идентификатор в «дочернем»?
Большое спасибо!