【问题标题】:Apache Solr DataImport succeed, but no result from queryApache Solr DataImport 成功,但查询没有结果
【发布时间】:2017-06-13 07:54:56
【问题描述】:

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

终于索引数据库看起来成功了。

DataImport 屏幕显示

索引完成。添加/更新:0 个文档。删除了 0 个文档。 (时长:21m 13s) 请求:1,获取:19,736,915 15,504/s,跳过:0,处理:0 开始时间:大约一小时前

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

{
"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>

你们能给我一些解决这个问题的建议吗?

提前谢谢你。

【问题讨论】:

    标签: postgresql solr dataimporthandler


    【解决方案1】:

    如果您检查您的 schema.xml 文件,您将看到如下条目:&lt;uniqueKey&gt;id&lt;/uniqueKey&gt;。这将 solr 字段 id 定义为唯一字段,该字段对于索引中的所有文档都是必需的。如果您想使用其他字段,请更改 uniqueKey 条目并确保在架构中定义了该特定字段(在您的情况下为 pmid)。

    【讨论】:

      【解决方案2】:

      不管怎样,我找到了解决办法。

      我像这样将名称“pmid”更改为“id”。

      而且效果很好。 似乎 'id' 被用作 solr 配置中的索引键。

      请知道原因的人告诉我。

      谢谢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-03
        • 1970-01-01
        • 2013-01-13
        • 2015-08-11
        • 2012-10-16
        相关资源
        最近更新 更多