Solr: файл данных зарегистрирован, но при поиске результатов не возвращается

#solr

#solr

Вопрос:

У меня последняя версия solr, запущенная в контейнере docker. Я импортирую файл json с данными (этот файл был экспортирован в формате json из более старой версии solr, 3.3). Я не получаю ошибок при импорте данных. Администратор Solr показывает, что, как и ожидалось, имеется 764 документа.

Когда я пытаюсь запросить данные (например, с помощью *:* ), я не получаю результатов.

Я использую управляемую схему по умолчанию с добавленными полями (которые поступают из старого schema.xml файл).

(Примечание: здесь не важна сторона Omeka, нужны только индекс Solr и результаты запроса.

У меня это работает в ряде других настроек, но эта не создает индекс или что-то в этом роде???

Другие проекты с почти идентичными настройками, которые работают:

Все файлы проекта находятся здесь:https://github.com/scholarslab/falmouth

Я должен получать результаты при запросе *:*

Все работает так, как должно (Docker, прокси-сервер nginx, Omeka и т. Д.), Поэтому Проблема заключается в получении результатов из запроса Solr.

Обновление: 23.04.19

Запрос с http://falmouth.lib.virginia.edu/solr/falmouth/select?debugQuery=onamp;defType=edismaxamp;q=id:123 или http://falmouth.lib.virginia.edu/solr/falmouth/select?debugQuery=onamp;defType=edismaxamp;df=fulltextamp;q=*:* возвращает нулевые результаты.

 {
  "responseHeader":{
    "status":0,
    "QTime":0,
    "params":{}},
  "response":{"numFound":0,"start":0,"docs":[]
  }}
  

Веб-администратор создает впечатление, что схема не загружена (не уверен в правильных терминах здесь). Скриншоты ниже:

Веб-администратор Solr показывает загруженные документы

Веб-администратор Solr не показывает доступных полей

Терминал, показывающий сообщение json и зафиксированный без ошибок

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

1. Что возвращает Solr в parsedQuery и QParser когда вы включаете debugQuery=true в свой запрос? Я подозреваю, что вы, возможно, не настроили поле поиска по умолчанию и / или ваш анализатор — DisMax (вместо eDisMax).

2. Имеют ли документы правильные значения для своих полей uniqueKey? Показывает ли журнал Solr, что документы добавлены и зафиксированы ? numFound Атрибут показывает что-нибудь в ответе? Что debugQuery=true вместе с запросом показывает? Является ли хранилище, предоставленное Solr в контейнере docker, эфемерным (и действительно ли Solr может записывать данные в хранилище ? При фиксации документы сохраняются в индексе как физические файлы..

3. Спасибо за отзыв! Используя этот запрос: http://falmouth.lib.virginia.edu/solr/falmouth/select?debugQuery=onamp;defType=edismaxamp;df=fulltextamp;q=*:* Я все еще получаю нулевые результаты. Поле uniqueKey — это ‘id’, а значения для всех них представляют собой 4-значные числа. В managed-schema поле id задается как тип ‘string’. Это то же самое для других подобных проектов, которые работают. numFound показывает 0. Solr может выполнять запись в хранилище в контейнере docker; есть файлы в /opt / solr /server/ solr/falmouth/data/index/.

4. Даже если вы по-прежнему получаете нулевые результаты, не могли бы вы обновить свой вопрос выводом parsedQuery, который вы получили с помощью debugQuery=on ?

5. Кроме того, в качестве быстрого теста, что произойдет, если вы отправите запрос по идентификатору? http://falmouth.lib.virginia.edu/solr/falmouth/select?debugQuery=onamp;defType=edismaxamp;q=id:123

Ответ №1:

Помечается как решаемая.

Я перестроил контейнеры docker с нуля, и теперь все работает. Понятия не имею, в чем проблема была раньше.