разбирать запрос dismax - атрибут mm - PullRequest
0 голосов
/ 12 апреля 2020
  "mm":"2",
  "q":"IBASEDESCRIPTION:(ankor sunnyvale tokyo^3 london labs)",
  "defType":"dismax",
  "fl":"score, IBASEDESCRIPTION",
  "q.op":"AND",
  "rows":"3",
  "debug.explain.structured":"true",
  "debugQuery":"on"

Это то, что я вижу в заголовке ответа.

мм = 2, это означает, что 2 дополнительных предложения должны совпадать. q.op is AND - Я предположил, что условия между предложениями AND

Я ожидаю, что следующее поле не будет совпадать:

Level 3 Communications-london
akamai-level 3-london

Но они являются частью результатов.

Может ли кто-нибудь помочь мне понять поведение здесь?

Я подозреваю, что это потому, что ^3 в поле tokyo. Но это то, что стимулирующий фактор.

1 Ответ

0 голосов
/ 13 апреля 2020

mm=2 не означает, что два дополнительных предложения должны совпадать - это означает, что два предложения должны совпадать. q.op не вступает в силу, если установлено mm .

Если в запросе не указан параметр 'mm' или по умолчанию в solrconfig. xml действующее значение параметра q.op (либо в запросе, по умолчанию в solrconfig. xml, либо из опции defaultOperator в схеме) используется для влияния на поведение.

Почему эти указанные c записи включены, трудно сказать, не видя анализа для поля и индексированного фактического значения (запрос отладки будет содержать информацию о том, какие термины используются для каждого поля и сколько он вносит в оценка).

Вы также должны использовать здесь qf вместо того, чтобы указывать имя поля при использовании обработчика dismax.

...