首页 \ 问答 \ 为什么Solr数据导入处理程序会散列uniqueKey?(Why does the Solr Data Import Handler hashes the uniqueKey?)

为什么Solr数据导入处理程序会散列uniqueKey?(Why does the Solr Data Import Handler hashes the uniqueKey?)

我对Solr 4.6.0有一个非常奇怪的问题。

uniqueKey字段“id”包含每个文档的哈希值,而不是我的字符串值。 如果只在Solr管理员中添加一个带有更新请求处理程序的自定义文档,我会得到我指定的ID值“book_45”,这是正确的。

但是当我使用DIH(数据导入处理程序)进行完全导入时,id字段包含每个文档的哈希,例如“[B @ 53bd370f”而不是我的自定义值。 所以问题必须在DIH中。

我的导入脚本:

<dataConfig>
<dataSource
    type="JdbcDataSource"
    driver="com.mysql.jdbc.Driver"
    url="jdbc:mysql://host/database"
    user="user"
    password="password" />
<document name="project">
    <entity name="document" transformer="RegexTransformer"
        query="SELECT CONCAT('book_', b.id) AS book_id, b.slug, b.title, b.isbn,
                b.publisher, b.releaseYear AS release_year, b.language, b.pageCount AS page_count, b.description,
                b.print, b.addedBy_id AS added_by_id, b.dt AS created,
                GROUP_CONCAT(a.name SEPARATOR ';') AS authors
            FROM Book b
            LEFT JOIN author_book ab ON ab.book_id = b.id
            LEFT JOIN Author a ON a.id = ab.author_id
            GROUP BY b.id
            ">
        <field column="book_id" name="id" />
        <field column="slug" name="book_slug" />
        <field column="title" name="book_title" />
        <field column="isbn" name="book_isbn" />
        <field column="publisher" name="book_publisher" />
        <field column="release_year" name="book_release_year" />
        <field column="language" name="book_language" />
        <field column="page_count" name="book_page_count" />
        <field column="description" name="book_description" />
        <field column="print" name="book_print" />
        <field column="added_by_id" name="book_added_by_id" />
        <field column="created" name="book_created" />
        <field column="authors" splitBy=";" name="authors" />
    </entity>
</document>

schema.xml中的id字段(与默认发布的core collection1中的id字段相同):

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<uniqueKey>id</uniqueKey>

有谁知道我错过了什么?


I have a very strange problem with Solr 4.6.0.

The uniqueKey field "id" contains a hash for every document instead of my string value. If add just one custom document with the update request handler in the Solr admin I get for example the ID value "book_45" that I specified, so that is correct.

But when I do a full import with the DIH (data import handler) then the id field contains a hash for every document like "[B@53bd370f" instead of my custom value. So the problem must be in the DIH.

My import script:

<dataConfig>
<dataSource
    type="JdbcDataSource"
    driver="com.mysql.jdbc.Driver"
    url="jdbc:mysql://host/database"
    user="user"
    password="password" />
<document name="project">
    <entity name="document" transformer="RegexTransformer"
        query="SELECT CONCAT('book_', b.id) AS book_id, b.slug, b.title, b.isbn,
                b.publisher, b.releaseYear AS release_year, b.language, b.pageCount AS page_count, b.description,
                b.print, b.addedBy_id AS added_by_id, b.dt AS created,
                GROUP_CONCAT(a.name SEPARATOR ';') AS authors
            FROM Book b
            LEFT JOIN author_book ab ON ab.book_id = b.id
            LEFT JOIN Author a ON a.id = ab.author_id
            GROUP BY b.id
            ">
        <field column="book_id" name="id" />
        <field column="slug" name="book_slug" />
        <field column="title" name="book_title" />
        <field column="isbn" name="book_isbn" />
        <field column="publisher" name="book_publisher" />
        <field column="release_year" name="book_release_year" />
        <field column="language" name="book_language" />
        <field column="page_count" name="book_page_count" />
        <field column="description" name="book_description" />
        <field column="print" name="book_print" />
        <field column="added_by_id" name="book_added_by_id" />
        <field column="created" name="book_created" />
        <field column="authors" splitBy=";" name="authors" />
    </entity>
</document>

The id field in my schema.xml (which is the same as in the default shipped core collection1):

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<uniqueKey>id</uniqueKey>

Does anyone know what I am missing?


原文:
更新时间:2022-08-16 09:08

最满意答案

您可能希望将tempMoves变量传递给指令:

app.directive('slider', function($compile) {
  restrict: 'E', 
  scope: { // pass the variable to your directive
    tempMoves: '='  
  }
  ...
}

// in the markup
<slider temp-moves="someVar"></slider>

然后在你的指令中你可以将一个$watch应用于tempMoves变量:

app.directive('slider', function($compile) {
  ... 
  link: function(scope, el, attrs) {
    scope.$watch('tempMoves', function(newValue, oldValue) {
      if (newValue != oldValue) {
        // do your $compile here or whatever else it takes to reset the slider
      }
    }
  }
}

You would likely want to pass your tempMoves variable into the directive:

app.directive('slider', function($compile) {
  restrict: 'E', 
  scope: { // pass the variable to your directive
    tempMoves: '='  
  }
  ...
}

// in the markup
<slider temp-moves="someVar"></slider>

then in your directive you could apply a $watch to the tempMoves variable:

app.directive('slider', function($compile) {
  ... 
  link: function(scope, el, attrs) {
    scope.$watch('tempMoves', function(newValue, oldValue) {
      if (newValue != oldValue) {
        // do your $compile here or whatever else it takes to reset the slider
      }
    }
  }
}

相关问答

更多

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。