Apache Solr DataImport成功,但查询没有结果

时间:2017-06-13 07:54:56

标签: postgresql solr dataimporthandler

我是solr的新手并尝试使用solr 6.5.1 + postgresql索引数据库。

最后,将数据库编入索引似乎很成功。

DataImport屏幕显示

Indexing completed. Added/Updated: 0 documents. Deleted 0 documents. (Duration: 21m 13s)
Requests: 1 , Fetched: 19,736,915 15,504/s, Skipped: 0 , Processed: 0 
Started: about an hour ago

但是,当我按下“执行查询”按钮时,查询屏幕上没有显示任何内容。

{
"responseHeader":{
"status":0,
"QTime":0,
"params":{
  "q":"*:*",
  "indent":"on",
  "wt":"json",
  "_":"1497333923963"}},
  "response":{"numFound":0,"start":0,"docs":[]
}}

我的数据库配置(db-data-config.xml)如下所示。

 <dataConfig>
   <dataSource driver="org.postgresql.Driver" url="jdbc:postgresql://xxx.xx.xxx.xx:5432/xxxxx" user="xxxxx" password="xxx" />
   <document>
     <entity name="pubmed" query="select pmid, article_title, abstract from pubmed_xml">
        <field column="pmid" name="pmid" />
        <field column="article_title" name="article_title" />
        <field column="abstract" name="abstract" />
     </entity>
   </document>
</dataConfig>

你们可以给我一些解决这个问题的技巧吗?

提前谢谢。

2 个答案:

答案 0 :(得分:0)

无论如何,我找到了修复它的解决方案。

我更改了名称&#39; pmid&#39;到了&#39; id&#39;像这样。

它工作正常。 似乎&#39; id&#39;用作solr配置中的索引键。

请让我知道谁知道原因。

谢谢。

答案 1 :(得分:0)

如果您检查schema.xml文件,则会看到如下条目:<uniqueKey>id</uniqueKey>。这将solr字段id定义为索引中所有文档必需的唯一字段。如果要使用其他字段,请更改uniqueKey条目,并确保在模式中定义该特定字段(在您的情况下为pmid)。