0

我正在使用 solr6.4.X 来索引 mysql 数据。我有相同的设置 dataimporthandler 。问题是只要我们在 DB 中有关系表就可以正常工作,但是我有大约 10 个表,它们之间没有任何关系。

我尝试将它们添加为渗透实体,但由于某些未知原因它不起作用。所以基本上我需要对 2 点的看法:

  • 通过 dataimporthandler 将非关系表存储到 Solr
  • 从单个表中检索数据(我正在使用 Solrj 来查询数据)。

任何帮助深表感谢。谢谢

4

1 回答 1

0

不确定您的 DIH 设置中的问题是什么,但是有几个实体,每个表一个,表之间没有关系是非常好的。工作没有任何问题。你的问题应该是可以解决的。

在不了解您的问题的更多信息的情况下,一个猜测:人们在这种情况下面临的一个典型问题是他们使用每个表中的 pk 作为 Solr doc id,并且他们在 Solr 端相互覆盖。您必须将表中唯一的内容附加到 solr id 中,以便它们在 Solr 中是唯一的。

编辑:是的,问题是我猜的,你有这个:

<entity name="encounter_notes" pk="id" query="SELECT * from encounter_notes">
        <field column="id" name="id" />
        <field column="encouter_id" name="encouter_id" />

每个实体的 id 将相互覆盖,对所有表执行此操作:

<entity name="encounter_notes" pk="id" query="SELECT CONCAT('notes_',id) as id, ... from encounter_notes">
        <field column="id" name="id" />
        <field column="encouter_id" name="encouter_id" />  

所以你有这样的ID:notes_1,notes_2,financial_class_1 ...

于 2017-04-27T10:21:39.417 回答