Когда следует использовать 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.