首页 \ 问答 \ 在Solr数据导入处理程序中定义嵌套实体(Defining nested entities in Solr Data Import Handler)

在Solr数据导入处理程序中定义嵌套实体(Defining nested entities in Solr Data Import Handler)

让我先说一下,我已经完成了关于这个主题的所有事情,包括Solr文档和所有的SO问题。

我有一个Solr实例,使用JDBC驱动程序通过Data Import Hanlder从MSSQL中提取数据。 数据出来了,但它不像我预期的那样基于Solr DIH文档构建

<document>
 <entity>
  <entity />
 </entity>
</document>

我已经尝试了所有的属性,如rootEntity,flatten,使用CachedSqlProvider等。multiValued =“True”结果结束

docs [
{
  recordId: '1234',
  name: 'whatever'
  subrows_col1: ['x','y','z']
  subrows_col2: ['a','b','c']
}
]

当我在找

docs [
{
  recordId: '1234',
  name: 'whatever'
  subrows: [{
     col1: 'x',
     col2: 'a'
 },
  {
     col1: 'y',
     col2: 'b'
 },
 {
     col1: 'z',
     col2: 'c'
 }]
} ]

我已经看到了块连接的东西,但我很困惑它到底在哪里。 我补充说

<add>
 <doc>
  <field />
  <doc>
   <field />
  </doc>
 <doc>
</add>

到DIH requestHandler,但它什么也没做。 我将它添加到/ update requestHandler中,并且出现错误。 我不知道应该去哪里。 它只在查询过程中起作用,还是仅在通过/ update将数据推送到solr时才起作用?

我在哪里定义文档的结构? 我尝试了架构中的嵌套字段,DIH配置中的实体以及requestHandlers中的块连接内容。 没有任何工作。

显然我错过了一些东西。


Let me preface by mentioning that I've been through everything I could find about this topic including the Solr docs and all of the SO questions.

I have a Solr instance that I've setup with a Data Import Hanlder to pull in data from MSSQL using the JDBC driver. The data comes in, but it isn't structured as I'd expect based on the Solr DIH documentation

<document>
 <entity>
  <entity />
 </entity>
</document>

I've tried all the attributes like rootEntity, flatten, using CachedSqlProvider, etc. With multiValued="True" The result ends up

docs [
{
  recordId: '1234',
  name: 'whatever'
  subrows_col1: ['x','y','z']
  subrows_col2: ['a','b','c']
}
]

When I'm looking for

docs [
{
  recordId: '1234',
  name: 'whatever'
  subrows: [{
     col1: 'x',
     col2: 'a'
 },
  {
     col1: 'y',
     col2: 'b'
 },
 {
     col1: 'z',
     col2: 'c'
 }]
} ]

I've seen the block-join stuff, but I'm confused as to where it goes. I added

<add>
 <doc>
  <field />
  <doc>
   <field />
  </doc>
 <doc>
</add>

to the DIH requestHandler, but it did nothing. I added it to the /update requestHandler and I got an error. I have no clue where that is supposed to go. Does it only work during a query or is it only for when you push data to solr via /update?

Where do I define the structure for the document? I tried nested fields in the schema, entities in the DIH config and the block-join stuff in the requestHandlers. nothing has worked yet.

Obviously I'm missing something.


原文:https://stackoverflow.com/questions/24920305
更新时间:2022-01-23 16:01

最满意答案

在你的代码中

pushQuery.whereNotEqualTo("user", ParseUser.getCurrentUser());
pushQuery.whereEqualTo("user", ParseUser.getCurrentUser());

这两行是不兼容的,你应该删除“whereEqualTo”行。

您可以做的另一件事是回调:

 ...
public void done(ParseException e){
            if(e!=null)
                e.printStackTrace();
...
}

检查是否有错误


In your code

pushQuery.whereNotEqualTo("user", ParseUser.getCurrentUser());
pushQuery.whereEqualTo("user", ParseUser.getCurrentUser());

These two lines are incompatible, you should remove the "whereEqualTo" line.

Another thing you can do is in the callback:

 ...
public void done(ParseException e){
            if(e!=null)
                e.printStackTrace();
...
}

To check if there were errors

相关问答

更多

相关文章

更多

最新问答

更多
  • 获取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的基本操作命令。。。