Когда следует использовать edismax сверх dismax?

Solr поддерживает анализатор запросов dismax и анализатор запросов edismax. Как мы определяем, когда использовать dismax и когда edismax? Когда мы должны использовать edismax над dismax?

1 ответ

Решение

Справочник документально это документирует.

В дополнение к поддержке всех параметров анализатора запросов DisMax, Extended Dismax:

  • поддерживает полный синтаксис синтаксического анализатора запросов Lucene

  • поддерживает запросы, такие как AND, OR, NOT, - и +.

  • обрабатывает "и" и "или" как "И" и "ИЛИ" в режиме синтаксиса Lucene.

  • уважает имена "магического поля" _val_ и _query_. Это не настоящие поля в Схеме, но, если они используются, это помогает делать особые вещи (например, запрос функции в случае _val_ или вложенный запрос в случае _query_). Если в запросе термина или фразы используется _val_, значение анализируется как функция.

  • включает улучшенное интеллектуальное частичное экранирование в случае синтаксических ошибок; полевые запросы, +/- и запросы фраз все еще поддерживаются в этом режиме.

  • улучшает приближение близости, используя опоясывающий лишай слова; вам не нужно, чтобы запрос соответствовал всем словам в документе, прежде чем будет применено усиление близости.

  • включает расширенную обработку стоп-слов: стоп-слова не требуются в обязательной части запроса, но все еще используются в части повышения близости. Если запрос состоит из всех стоп-слов, таких как "быть или не быть", тогда требуются все слова.

  • включает улучшенную функцию ускорения: в Extended DisMax функция ускорения является множителем, а не добавлением, улучшая ваши результаты ускорения; Аддитивные функции повышения DisMax (BF и BQ) также поддерживаются.

  • поддерживает чисто отрицательные вложенные запросы: такие запросы, как +foo (-foo) будут соответствовать всем документам.

  • позволяет указать, какие поля разрешено запрашивать конечному пользователю, и запретить прямой поиск по полям.

Важность этих функций для вас зависит от вашего собственного варианта использования, но в большинстве случаев нет причин использовать dismax вместо edismax - edismax более гибок и устраняет несколько проблем с dismax, которые накапливались в течение многих лет. Если у вас нет очень конкретной причины, продолжайте с edismax.

Другие вопросы по тегам