У меня есть приложение Rails и я использую Searchkick. Я использую данные JSON для выбора Select2 и пытаюсь уточнить результаты. До сих пор я изо всех сил пытался понять соответствие для SK / ES и, наконец, задал этот вопрос.
Мой выбор возвращает соответствие некоторых сопоставлений из моей модели, например,
- 7800.101 Fruit | Яблоки | $ 1234
- 7800.102 Фрукты | Апельсины | $ 1234
- 7800.200 Овощи | Морковь | $ 8765
Отображение выглядит так:
- "label" | "описание" | «количество»
Мой вызов ES прост - все, что я передаю, это текст запроса и указание соответствия по умолчанию :word
из документов:
https://github.com/ankane/searchkick#partial -matches
Так что, если я запрашиваю:
- «Яблоки», я получаю первый ожидаемый товар
- «Фрукты» Я получаю первые два как ожидается
- "Морковь" Я получаю третий, как и ожидалось
- "Фруктовые апельсины" возвращает первое с
:or
и ничего с :and
- "102" или любое другое из чисел ничего не отфильтровывает (я получаю все результаты, такие же как "*")
Кажется, что-то здесь не хватает, и документы не очень ясны по этому вопросу.
Дополнительный бонусный вопрос - как получить результаты с помощью трехбуквенных запросов - по умолчанию, кажется, только после 4-го символа.