Индексирование всего документа XML в SOLR 7 без указания полей - PullRequest
0 голосов
/ 16 мая 2018

Я бы попытался поместить XML-документ в SOLR (сейчас я использую версию 7.3.0) без установки определенных полей в data-config или установки одного тега для получения всех остальных. Я пробовал в режиме без схемы, но я не получил никакого документа обратно. Можно ли как-то сделать это, или SOLR не справится?

Это пример моего SOLR document.xml. Я хотел бы обнаружить все теги и вернуть относительные значения без редактирования каких-либо полей. Как я уже сказал, я пробовал в режиме без схемы, и он не работал.

<?xml version="1.0" encoding="UTF-8"?>
<digital_archive xmlns="https://www.site" dataCreazione="2017-05-11T17:15:00">
<DocumentalCategory>some data</DocumentalCategory>
<customer>some data</customer>
<producer>some data</producer>
<documentOwner>some data</documentOwner>
<sources>
    <source>
        <idc>
            <id scheme="adfr">some data</id>
            <name>some data</name>
            <path>sources\source\some_path.XML</path>
            <hash alg="SHA-256">3748738</hash>
        </idc>
        <vdc>
            <id scheme="some data">some data.XML</id>
            <timeReference>2017-03-17T14:19:01+0100</timeReference>
        </vdc>
    </source>
</sources>
<ud>
    <metadati>
        <Name>Jane</Name>
        <Surname>Doe</Surname>
        <FiscalCode>dsrsd6w7hedw</FiscalCode>
        <Date>29.10.2017</Date>
    </metadati>

Результат, который я ожидаю, выглядит примерно так:

    <field name="DocumentalCategory">some data</DocumentalCategory>
<field name="customer">some data</customer>
<field name="producer">some data</producer>
<field name="documentOwner">some data</documentOwner>
<field name="sources">
    <field name="source">
        <field name="idc">
            <field name="id" scheme="adfr">some data</id>
            <field name="name">some data</name>
            <field name="path">sources\source\some_path.XML</path>

1 Ответ

0 голосов
/ 17 мая 2018

Solr - это не база данных, это поисковая система. Его цель - дать вам хорошие результаты поиска с сохранением оригинальной структуры, которая будет менее важной.

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

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

Режим без схемы вам здесь не поможет, так как он все еще ожидает, что ваш документ будет в формате Solr, будь то XML, JSON или CSV. У вас есть собственный формат XML здесь. Итак, вам нужно как-то его трансформировать. Вы можете использовать Обработчик импорта данных и определить преобразование или преобразование XSLT на пути к нему, чтобы оно соответствовало ожиданиям Солра. В любом случае, вам, скорее всего, придется сделать некоторые выравнивания и сопоставления идентификаторов.

...