Запрос SOLR выполняется нормально только на 1 узле из 3 узлов с установленным SOLR

#solr #datastax-enterprise #datastax-startup

#solr #datastax-enterprise #datastax-запуск

Вопрос:

Вот наша проблема. Мы запускаем DSE Enterprise 4.8 со следующей конфигурацией:

  • 6 серверов с Cassandra
  • на 3 из них установлена Spark (DSE Analytics)
  • на orher 3 установлен SOLR (поиск DSE)

Мы хотим выполнить «статистику запросов» с помощью SOLR для таблицы, используя и исключая определенные запросы фильтра.

Когда мы пытаемся выполнить простой запрос, подобный этому:

 /select?q=*:*amp;wt=jsonamp;indent=trueamp;fq={!tag=fq1}test:100amp;stats=trueamp;stats.field={!ex=fq1}testamp;rows=1
  

он выполняется нормально только на 1 узле из 3 с установленным SOLR.

Для остальных 2 узлов мы получаем это исключение:

 {
  "responseHeader":{
    "status":400,
    "QTime":2},
  "error":{
    "msg":"undefined field: "{!ex=fq1}test"",
    "code":400},
  "params":"q=*:*amp;indent=trueamp;stats=trueamp;fq={!tag=fq1}test:100amp;rows=1amp;wt=jsonamp;stats.field={!ex=fq1}test"} 
  

Не могли бы вы помочь нам определить причину исключения «неопределенного поля» при использовании исключающих запросов фильтра внутри параметра stats.field.

Также это помогло бы нам использовать только подмножество функций статистики (например, только подсчет) :

stats.field={!count=true}тест

Но эти типы параметров, похоже, игнорируются, и вычисляется весь набор функций статистики…

Большое спасибо

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

1. Работает ли обычный q=*:* без фильтров и т. Д. На всех узлах для этого ядра? Если это так, то я бы предположил, что это может быть связано с тем, что вам нужно выполнить восстановление в этом пространстве ключей / таблице, чтобы сначала убедиться, что вы согласованы (если вы еще этого не сделали)

2. Обычные запросы работают на всех узлах. Запросы завершаются ошибкой при попытке использовать какие-либо локальные параметры для stats.field. Запрос работает на одном узле, но это не всегда один и тот же узел. Кажется, что он переходит между 2 из 3 узлов.

3. не могли бы вы опубликовать свою schema.xml и табличную схему cql для этого ядра solr, пожалуйста?

4. Похоже, наш запрос работает только на главном. Когда мы перезапускаем главный узел, мастер меняется. Это объясняет, почему запрос работает на другом узле. Тем не менее, мы не понимаем, почему запрос не работает на подчиненных узлах.

5. На самом деле в DSE нет понятия master для поиска. Вы поместили узлы Spark и Search в один и тот же DC? Вы используете NTS или SimpleStrategy?