Обработчик импорта данных Solr не может обновляться, но отладка показывает, что он должен

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

Это результат импорта данных.

{
  "responseHeader": {
    "status": 0,
    "QTime": 0
  },
  "initArgs": [
    "defaults",
    [
      "config",
      "esp-config.xml"
    ]
  ],
  "command": "status",
  "status": "idle",
  "importResponse": "",
  "statusMessages": {
    "Total Requests made to DataSource": "15",
    "Total Rows Fetched": "27",
    "Total Documents Processed": "1",
    "Total Documents Skipped": "0",
    "Full Dump Started": "2018-03-12 13:24:41",
    "": "Indexing completed. Added/Updated: 1 documents. Deleted 0 documents.",
    "Committed": "2018-03-12 13:24:42",
    "Optimized": "2018-03-12 13:24:42",
    "Time taken": "0:0:1.467"
  }
}

Это результат работы dataimpor-debug (изменен, чтобы не отображать разумные данные).

{
  "responseHeader": {
    "status": 0,
    "QTime": 1507
  },
  "initArgs": [
    "defaults",
    [
      "config",
      "esp-config.xml"
    ]
  ],
  "command": "full-import",
  "mode": "debug",
  "documents": [
    {
      .... Some fields with the values document should have ....
      "_version_": [
        1594749753815466000
      ],
      "_root_": [
        "E40004178"
      ]
    }
  ],
  "verbose-output": [
    "entity:esp",
    [
      "document#1",
      [
        "query",
        "Some query",
        "time-taken",
        "0:0:0.422",
        null,
        "----------- row #1-------------",
  ... Some more data ...
  "status": "idle",
  "importResponse": "",
  "statusMessages": {
    "Total Requests made to DataSource": "15",
    "Total Rows Fetched": "27",
    "Total Documents Processed": "1",
    "Total Documents Skipped": "0",
    "Full Dump Started": "2018-03-12 13:24:41",
    "": "Indexing completed. Added/Updated: 1 documents. Deleted 0 documents.",
    "Committed": "2018-03-12 13:24:42",
    "Optimized": "2018-03-12 13:24:42",
    "Time taken": "0:0:1.467"
  }
}

DIH на solrconfig.xml

  <requestHandler name = "/dataimport" class = "org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name = "defaults">
      <str name = "config">esp-config.xml</str>
    </lst>   
</requestHandler>

Файл конфигурации Dataimport

<dataConfig>
    <dataSource name = "TDatasource" driver = "com.ibm.db2.jcc.DB2Driver" url = "${ta.datasource.url}"
                user = "${ta.datasource.user}" password = "${ta.datasource.pass}"/>
    <document>
        <entity name = "esp" pk = "ID" transformer = "TemplateTransformer"
                query = "SELECT * FROM ESP e                                                                                                                                               
                WHERE ('${dataimporter.request.idP}' != '' AND to_char(e.id) = '${dataimporter.request.idP}') OR                                                                        
                ('${dataimporter.request.idP}' = '' AND ('${dataimporter.request.clean}' != 'false'                                                                                            
                OR e.VERSION > '${dataimporter.last_index_time}'))">
...Some fields and child documents...
        </entity>
        <entity name = "ab" pk = "ID" transformer = "TemplateTransformer"
                query = "SELECT * FROM AB a                                                                                                                                         
                WHERE ('${dataimporter.request.idP}' != '' AND to_char(a.id) = '${dataimporter.request.idP}')                                                                           
                OR ('${dataimporter.request.idP}' = '' AND ('${dataimporter.request.clean}' != 'false' OR a.VERSION > '${dataimporter.last_index_time}'))"> 
...Some other data for this but without child documents...
</entity>                                                                                                                                                                                     
    </document> 

Обновлено: Solr config autoCommit и autoSoftCommit

 <autoCommit>
   <maxTime>${solr.autoCommit.maxTime:15000}</maxTime>
   <openSearcher>false</openSearcher>
 </autoCommit>
 <autoSoftCommit>
   <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime>
 </autoSoftCommit>

Проблема в том, что при поиске того же документа по идентификатору он возвращает старый номер версии вместо нового 1594749753815466000 примера.

Единственное решение на данный момент - сделать запрос на удаление документа по идентификатору и снова запустить индекс.

Мы попытались перезапустить все узлы, потому что, возможно, проблема была в кеше или чем-то подобном, но старые значения сохраняются.

Версия Solr es 5.3.1

какая у вас операционная система? Можно ли обновить solr до последней версии 7.x?

D_K 12.03.2018 19:49

в противном случае это звучит как неправильная конфигурация обработчика импорта данных. Вы можете это вставить?

D_K 12.03.2018 19:49

Привет @D_K, да, если мы сможем решить эту проблему, я собираюсь отредактировать сообщение и прошить конфигурацию dih.

Matìas Fernàndez 12.03.2018 21:34

Не совсем уверен, но когда вы перезапустите экземпляр Solr, он сбросит кеш. Вы также можете попробовать перезагрузить коллекцию или ядра со страницы администратора. Если вы находитесь в SolrCloud, вам следует повторно загрузить схему в ZooKeeper, используя скрипт zkclient в облачных скриптах.

MathBunny 13.03.2018 01:38

Также пробовал перезагрузку сборников и ядер. Зачем мне перезагружать информацию о схеме, если она не изменилась?

Matìas Fernàndez 13.03.2018 20:39

@ MatìasFernàndez, какие у вас есть настройки автоматической фиксации?

D_K 20.03.2018 18:08

а также видите ли вы какие-либо ошибки в журнале?

D_K 20.03.2018 18:08

Можно увидеть любую ошибку, единственное, что я вижу - это отладка с информацией, которую я показываю в сообщении.

Matìas Fernàndez 21.03.2018 18:35

@ MatìasFernàndez, можете ли вы опубликовать разделы <autoCommit> и <autoSoftCommit> в solrconfig.xml?

D_K 07.04.2018 18:33

Конечно @D_K, есть

Matìas Fernàndez 09.04.2018 21:38

@ MatìasFernàndez это -1 для мягкой фиксации - означает фиксацию как можно скорее? Как вы определили это значение?

D_K 10.04.2018 06:18

Это конфигурация по умолчанию.

Matìas Fernàndez 10.04.2018 17:04
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
12
559
0

Другие вопросы по теме