Solr dataimport处理程序查询

时间:2014-02-04 15:45:05

标签: solr dataimporthandler

我有一个dataimport处理程序:

<entity name="Categories" query="Select * From Categories">

  <field column="Name" name="categoryNgram"/>


    <entity name="CategorySynonyms" query="Select Synonym From CategorySynonyms Where CID='${Categories.Id}'">  

     <field column="Synonym" name="synonym"/>   

    </entity>

</entity>

数据库表具有以下值:

分类

Id名称

1 Category1

CategorySynonyms

CID

1 CategorySynonym1 1 CategorySynonym2

结果显示总行数:3

但是当我从索引中选择所有内容时:我只在结果中收到一行:

Category1 SynonymCategory1

语法是否有问题使得它在创建两个文档时只创建一个文档?

1 个答案:

答案 0 :(得分:0)

预计从数据库中获取的总行数为3(表类别中的1行, CategorySynonyms 中的2行)。

solr中的文档总数为1,正如预期的那样:

Name:Category1,
Synonym: CategorySynonym1,CategorySynonym2

也许你可以试试

<entity name="Categories" query="Select CID,Name,Synonym From Categories join CategorySynonyms on Id=CID">
  <field column="Name" name="categoryNgram"/>
  <field column="Synonym" name="synonym"/>   
</entity>

注意:您可能必须验证SQL查询以确保它返回Id字段,并且返回两行,如您所料。