Поиск среди двух объектов - PullRequest
0 голосов
/ 17 октября 2011

Я новичок в Solr. Я создал две отдельные сущности, которые не взаимосвязаны.

В db-data-config.xml

<entity name="vtab" query="select pid as id, pname as name from ptab order by name asc">
    <field column="panchayat_id" name="panchayat_id" />
    <field column="name" name="name" />
</entity>
<entity name="ptab" query="select vid as id, vname as name from vtab order by name asc">
    <field column="id" name="vid" />
    <field column="name" name="name" />
</entity>

В схеме.xml

<fields>
    <field name="id" type="string" indexed="true" stored="true"/>
<field name="name" type="text" indexed="true" stored="true" />
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>name</defaultSearchField>

Индекс успешно создан с этой конфигурацией. Я хочу искать по имени. Если я предоставляю имя в запросе, я хочу его из любой таблицы, где найдена запись. С вышеупомянутой конфигурацией я получаю записи только от Vtab. Нет записей в ptab. Пожалуйста, ведите меня, где я иду не так.

Ответы [ 2 ]

0 голосов
/ 18 октября 2011

вы назвали объект vtab ptab и наоборот.
Можете ли вы добавить к сущности с именем vtab и убедиться, что они проиндексированы правильно.
Идентификаторы уникальны? Если идентификаторы повторяются, они переопределяют друг друга. В идеале, он должен искать по обоим

0 голосов
/ 18 октября 2011

проблема решена. Я объявил "id" в качестве первичного ключа, который дублировался. Я создал другое поле в сочетании с id-table_name и установил его в качестве первичного ключа. Теперь он работает правильно. Спасибо мистер Джейендра Патил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...