2017-06-13 51 views
1

结果我是新的Solr的,并试图索引数据库使用Solr 6.5.1 + PostgreSQL的。Apache Solr实现DataImport成功,但没有从查询

最后,它看起来成功索引数据库。

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-数据-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> 

你们能给我一些技巧来解决这个问题吗?

预先感谢您。

回答

0

如果你检查你的Schema.xml文件,你会看到一个条目,如下所示:<uniqueKey>id</uniqueKey>。这将solr字段id定义为索引中所有文档必需的唯一字段。如果您想使用不同的字段,请更改uniqueKey条目并确保该架构中定义了特定字段(您的案例中为pmid)。

0

无论如何,我找到了解决办法来解决它。

我改了名字“PMID”以这样的“身份证”。

,它工作正常。 似乎'id'被用作solr配置中的索引键。

请让我知道谁知道原因。

谢谢。