2015-08-26 5 views
1

Я использую Solr 5.2.1, в одном из моих проектов, и получил некоторые сомнения по поводу mm параметр dismax/edismax парсер.Solr - mm параметрический парсерный анализатор

Вопросы:

  • mm независимо Существует ли в общем сроке ввода счетчика? Документ говорит «да», но когда я установил его на 3 и вводил один термин, он все равно мог получать записи, поэтому он, похоже, не зависит от общего количества счетчиков входных данных.
  • Какое значение по умолчанию mm? Документ говорит, что это 100%, но в моем тесте запроса он выглядит 1. Кстати, я не нашел конфигурацию для mm в solrconfig.xml или schema.xml.

Любая помощь? Спасибо.


@Update:

запроса URL для 1-го вопроса:

http://localhost:8983/solr/demo/select?q=new+york&start=0&wt=json&indent=true&defType=edismax&qf=title&mm=3&stopwords=true&lowercaseOperators=true

Есть 2 условия new и york, результат запроса:

  • не sp ecify mm, вернуть 3 записи,
  • mm = 2, возвращение 1 записей,
  • mm = 3, также возвращают 1 записей,

Таким образом, я предполагаю, что это изменит мм до максимального срока первого, перед запросом.

+0

Вы можете указать URL-адрес запроса, который вы используете для поиска вопроса-1? – YoungHobbit

+0

@abhishekbafna Я обновил вопрос с помощью url и дал больше описания о том, что происходит, когда я использую другое значение 'mm'. –

+1

Я хотел бы исправить ошибку в вопросе-1: 'new' и' york' не будут считаться двумя терминами. Потому что вы указываете оператор '+' между ними. Он рассматривается как «пробел» в solr/lucene. Итак, 'new york' и' new + york' одинаковы для solr. Он рассматривается как один термин. Возможно, позже ваш анализатор будет разбит на несколько токенов. Вы можете проверить это в своих журналах для поискового запроса. – YoungHobbit

ответ

1

Answer-2: Если нетmm параметра не указан в запросе, или по умолчанию в solrconfig.xml, эффективное значение параметра q.op (либо в запросе, по умолчанию в solrconfig.xml, или из «defaultOperator 'в schema.xml) используется для воздействия на поведение. Таким образом, поведение по умолчанию для mm определяется параметром q.op. Если q.op эффективно AND, то mm=100%; если q.op - OR, то mm=1.

+0

Это имеет смысл, потому что мой 'q.op' кажется' OR'. Но в документе, похоже, об этом не упоминалось. –

+1

Указано. Пожалуйста, отметьте [Disarser Parser Parser] (https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser) таблицу 'DisMax Parameters' и' Параметр параметра mm (Minimum Should Match) в разделе дно. – YoungHobbit

+0

Я видел это сейчас, хороший отзыв. –

1

От Min Number Should Match Specification Format:

Независимо от того, какой номер расчет прибыл на, значение больше, чем число дополнительных положений, или значение меньше 1 никогда не будет использоваться. (Т.е. независимо от того, как низко или как высоко результат результата расчета не минимальное количество необходимых матчей будет никогда не будет меньше, чем 1 или больше, чем количество пунктов

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

+0

То же самое, что и мой результат теста, но ссылка solr 5.2.1 на стр. 258 гласит: «Определяет минимальное количество предложений, которые должны совпадать, независимо от того, сколько из них содержится в сумме». Это кажется не очень правильным. –

+1

Да, это немного запутанно. Они говорят, когда есть дополнительные предложения, чем параметр 'mm'. Пока количество параметров меньше, все совпадения дадут результат. – MatsLindh