【问题标题】:Solr dataimport and SQL with xml escapeSolr 数据导入和带有 xml 转义的 SQL
【发布时间】:2014-12-03 19:44:19
【问题描述】:

我在数据导入配置文件的实体标签中尝试了以下 SQL:

<entity name="Page" dataSource="a1" query="SELECT &amp;apos;26484-&amp;apos;&amp;amp;`book`.id&amp;amp;&amp;apos;-&amp;apos;&amp;amp;`book`.page&amp;amp;&amp;apos;-&amp;apos;&amp;amp;`book`.part AS PageID, `book`.id AS pid, `book`.nass AS Content, `book`.part AS Part, `book`.page AS PageNum FROM `book` ORDER BY `book`.id, `book`.page">

Sql 查询包含应在 xml 中转义的字符,' and &amp;。但是,我在日志中收到以下错误:

 DocBuilder     Exception while processing: Page document : SolrInputDocument(fields: []):org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT '26484-'&`book`.id&'-'&`book`.page&'-'&`book`.part AS PageID,​ `book`.id AS pid,​ `book`.nass AS Content,​ `book`.part AS Part,​ `book`.page AS PageNum FROM `book` ORDER BY `book`.id,​ `book`.page Processing Document # 1 

DataImporter    Full Import failed:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT '26484-'&`book`.id&'-'&`book`.page&'-'&`book`.part AS PageID,​ `book`.id AS pid,​ `book`.nass AS Content,​ `book`.part AS Part,​ `book`.page AS PageNum FROM `book` ORDER BY `book`.id,​ `book`.page Processing Document # 1 

我使用 jdbc 驱动。

当我尝试从 SQL 查询中删除连接时,删除转义字符时,我没有收到此错误,但我收到了有关重复唯一键的 solrWriter 警告。我理解这个警告。但是,我怎样才能编写使用上面显示的 Sql 查询?

【问题讨论】:

  • 单引号不用转义,直接在查询中输入'即可。
  • 每个转义字符都需要&amp;。所以你需要用&amp;amp;&amp;apos;替换&amp;amp;apos;

标签: ucanaccess sql xml solr data-import ucanaccess


【解决方案1】:
  1. 不需要对单引号进行转义,可以将'直接放入查询中。

  2. 每个转义字符都需要&amp;。所以你需要用&amp;amp;&amp;apos;替换&amp;amp;apos;

破坏您的查询的事实应该是 (2)。

<entity name="Page" dataSource="a1" query="SELECT &amp;'26484-&amp;'&amp;&amp;`book`.id&amp;&amp;&amp;'-&amp;'&amp;&amp;`book`.page&amp;&amp;&amp;'-&amp;'&amp;&amp;`book`.part AS PageID, `book`.id AS pid, `book`.nass AS Content, `book`.part AS Part, `book`.page AS PageNum FROM `book` ORDER BY `book`.id, `book`.page">

【讨论】:

    猜你喜欢
    • 2012-11-21
    • 2015-10-24
    • 1970-01-01
    • 2010-10-17
    • 2013-03-16
    • 1970-01-01
    • 2013-04-29
    • 2018-01-13
    • 1970-01-01
    相关资源
    最近更新 更多