Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Solr/Lucene: dataimport from SQL DB, master/detail / 11 сообщений из 11, страница 1 из 1
08.08.2012, 11:09:39
    #37908361
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
Не могу никак втолкнуть данные в Solr из реляционной базы данных.

В базе таблица и несколько подчинённых таблиц, master/detail.
Прописал это я всё в data-config.xml как полагается.
Импорт работает, всё как бы ОК, но
из головной таблицы данные в SOLR есть.

из дочерних таблиц данных как будто нет вообще. Любые запросы на эти поля дают пустой результат,
фасеты на эти поля не формируются, в логах поле когда пишется, у него term-ов = 0, в Schema Browser
тоже всё пусто -- нет гистограмм, всё пусто.

Как импортировать под-entity?
Может нужно как-то их отдельно импортировать ?
...
Рейтинг: 0 / 0
08.08.2012, 11:19:58
    #37908389
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
По идее, в Lucene инвертированный индекс и таблиц там нет. Lucene можно рассматривать как документоориентированную БД, но аккуратно. У вас на одну сущность должен быть один документ, которые содержит все связанные поля.
http://wiki.apache.org/solr/DataImportHandler#Full_Import_Example - вы так делали?

Посмотрите, что реально хранится в индексе с помощью http://code.google.com/p/luke/ Возможно, стеммеры поудаляли все данные или еще что.
...
Рейтинг: 0 / 0
08.08.2012, 12:47:53
    #37908653
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
On 08/08/2012 12:19 PM, Leonidv wrote:

> По идее, в Lucene инвертированный индекс и таблиц там нет. Lucene можно
> рассматривать как документоориентированную БД, но аккуратно.

Это понятно всё. Я импортирую данные из RDBMS, где таблицы есть.

У вас на одну
> сущность должен быть один документ, которые содержит все связанные поля.
> http://wiki.apache.org/solr/DataImportHandler#Full_Import_Example - вы так делали?

Да, так и делаю. только один документ и несколько сущностей в нём. Главные и
подсущности.

> Посмотрите, что реально хранится в индексе с помощью
> http://code.google.com/p/luke/ Возможно, стеммеры поудаляли все данные или еще что.

Там 5 разных полей с разными типами. Одно из них -- String, т.е. без обработки.
НИ ПО ОДНОМУ ИЗ НИХ НЕТ ДАННЫХ. К тому же я менял их типы, без эффекта.

Я уже точно знаю при этом, что запросы для получения данных подсущностей
выполняются (видно со стороны сервера, и по статистике выполненных запросов).
Но данных нет.

За ссылку на luke спасибо.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.08.2012, 14:47:01
    #37908966
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
> Посмотрите, что реально хранится в индексе с помощью
> http://code.google.com/p/luke/ Возможно, стеммеры поудаляли все данные или еще что.

Посмотрел. Там вообще нет этих полей, которые в дочерних entiti.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.08.2012, 18:54:54
    #37909472
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
MasterZiv,

Возможно будет проще самому написать сохранялку. По коду будет чуть больше, чем data-confg.xml :)
...
Рейтинг: 0 / 0
08.08.2012, 19:52:02
    #37909532
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
On 08/08/2012 07:54 PM, Leonidv wrote:

> Возможно будет проще самому написать сохранялку. По коду будет чуть больше, чем
> data-confg.xml :)

Не понял.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.08.2012, 19:59:42
    #37909545
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
> Возможно будет проще самому написать сохранялку. По коду будет чуть больше, чем
> data-confg.xml :)

Я не думаю, что будет проще. По моему ощущению я что-то очень простое и тупое
упускаю из виду.

А sub-entity должны сами создаваться ?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
09.08.2012, 00:45:32
    #37909755
dmitriyche
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
MasterZiv...
Как импортировать под-entity?
Может нужно как-то их отдельно импортировать ?
Рассмотрите вариант использования Hibernate Search , который умеет работь с Entity - вот пример .
...
Рейтинг: 0 / 0
09.08.2012, 12:43:27
    #37910418
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
On 08/09/2012 01:45 AM, dmitriyche wrote:

> Рассмотрите вариант использования Hibernate Search
> который умеет работь с Entity -

Нет. И это не то совсем entity, абсолютно другое.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.08.2012, 09:30:57
    #37916967
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
Проблема была в том, что связи entity-subentity в запросах должны устанавливаться по имени поля в запросе (атрибут column),
а не по имени самого поля (атрибут name).
При этом SOLR/Lucene DataImportHandler не выдают никаких ошибок, предупреждений.
(Это понятно, потому что в master-detail дочерняя сущность не всегда обязана быть заполненной).

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<dataConfig>
<dataSource driver="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:/temp/example/ex" user="sa" />
    <document name="products">
        <entity name="item" query="select * from item">
            <field column="ID" name="id" />
            <entity name="feature" query="select description from feature where item_id='${item.ID}'">
                <field name="features" column="description" />
            </entity>
            <entity name="item_category" query="select CATEGORY_ID from item_category where 
                                                                              -- !! must reference parent entity's PK by field column, not by field name !!
                                                                              item_id='${item.ID}'">
                <entity name="category" query="select description from category where id = '${item_category.CATEGORY_ID}'">
                    <field column="description" name="cat" />
                </entity>
            </entity>
        </entity>
    </document>
</dataConfig>
...
Рейтинг: 0 / 0
31.03.2013, 21:42:36
    #38206325
Кореец
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Solr/Lucene: dataimport from SQL DB, master/detail
MasterZiv,

Спасибо!

А еще как оказалось играет роль регистр!

т.е. нельзя column и name называть одинаково для упрощенки
типа

Код: xml
1.
[SRC XML]<field column="id" name="id" />

[/SRC]

надо именно

Код: xml
1.
<field column="ID" name="id" />
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Solr/Lucene: dataimport from SQL DB, master/detail / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]