Фильтр метода вспомогательного средства поиска Algolia не фильтрует строки, а фильтрует только цифры

#swift #algolia

#swift #algolia

Вопрос:

Я использую Algolia-helper-swift [0.1] с Algolia-client-swift [3.7], поскольку я использую xcode 7.3.1 и swift 2.0 , и мой фрагмент структуры json выглядит следующим образом

  "-KTKNoEhrdaBShtXJGM8" : {
"Book_name" : "Hello World",
"Book_price" : 7273,
"uploaded_by" : "John" }
  

Пробная версия 1

 {
  "params": "facetFilters=[]amp;filters=Book_price>0 AND uploaded_by:Johnamp;hitsPerPage=8amp;page=0amp;query=amp;restrictSearchableAttributes=["Book_name"]"
}
  

Пробная версия 2

 {
  "params": "facetFilters=[]amp;filters=Book_price>0 AND uploaded_by:"John"amp;hitsPerPage=8amp;page=0amp;query=amp;restrictSearchableAttributes=["Book_name"]"
}
  

Пробная версия 3

 {
  "params": "facetFilters=[]amp;filters=Book_price>0amp;hitsPerPage=8amp;page=1amp;query=amp;restrictSearchableAttributes=["Book_name"]"
}
  

Пробная версия 4

 {
      "params": "facetFilters=[]amp;filters=uploaded_by:"John"amp;hitsPerPage=8amp;page=0amp;query=amp;restrictSearchableAttributes=["Book_name"]"
    }
  

Пробные версии 1,2 и 4 не работают, возвращая мне 0 результатов / просмотров
третий, однако, работает, но его числовая логика.
Пожалуйста, если бы кто-нибудь мог мне помочь с этим, это было бы здорово.

Комментарии:

1. обходной путь заключался в том, чтобы ограничить поиск названием книги и загруженным пользователем, а затем запросить «загружено Джоном» строка запроса

Ответ №1:

Это то, что вам нужно сделать, чтобы заставить фильтрацию работать, получив атрибут uploaded_by faceted. Это очень полезно для аналитики, а также для понимания того, как используются одни и те же теги или имена атрибутов.

  1. Перейдите на панель управления algolia
  2. щелкните по индексам
  3. нажмите на дисплей
  4. в разделе фасеты добавьте атрибуты, которые вы хотели бы сохранить в фасете, и подождите, пока algolia обработает, поскольку это будет зависеть от объема имеющихся у вас данных.
  5. используйте средство поиска.query.filters = [«»], для меня это было [«uploaded_by: «John»»]