2012-07-09 164 views
1

我正在尝试使用Coldfusion10进行solr搜索。我已经在Solr安装中使用了该构建,并使用CF管理员创建了该集合。它创建了一个schema.xml,它应该可以和cfindex和cfsearch等一起工作。Coldfusion10 Solr cfindex数据导入与DataImportHandler不同,如何配置data-config.xml?

首先,我在coldfusion中编写了一个导入脚本,用查询获取数据并用cfindex将它提供给solr。

<cfquery name="myList" datasource="#db#" dbtype="#dbtype#"> 
    SELECTT TOP 20000 prodID,name,desc,accountID,shopID,ean,isbn 
    FROM products 
</cfquery> 

<cfindex action="update" collection="testcollection" query="myList" type="custom" status="info" 
      key="prodID" 
      title="name" 
      body="desc" 
      accountID_i=accountID 
      shopID_i=shopID 
      ean_s="ean" 
      isbn_s="isbn" 
      /> 

这很好,但速度不够快。我可以完美地搜索,如果我在我的搜索条件中拼错了某些内容,它会给出我的建议的查询结果。例如。搜索“pleystation”建议“playstation”等

之后,想给数据导入Hanlder冯索尔一试。我得到了一切工作,数据库连接,所有基本配置文件启动全部导入。

索引非常快,但它没有给我任何建议等。 我确定我没有正确配置data-import.xml文件。 问题是,我不知道Coldfusion10如何处理我给cfindex标签的文件并将它发送到solr。

这是我试过的data-config.xml文件之一。

<dataConfig> 
<dataSource driver="net.sourceforge.jtds.jdbc.Driver" type="JdbcDataSource" url="jdbc:jtds:sqlserver://192.168.1.1:1234/myDatabase;DatabaseName=myDatabase;" user="test" password="test"/> 
<document name="products"> 
    <entity name="products" query="SELECT TOP 20000 prodID,name,desc,accountID,shopID,ean,isbn FROM products"> 
     <field column="prodID" name="uid"/> 
     <field column="prodID" name="key"/> 
     <field column="name" name="title"/> 
     <field column="desc" name="body"/> 
     <field column="accountID" name="accountid_i"/> 
     <field column="shopID" name="shopid_i"/> 
     <field column="ean" name="ean_s"/> 
     <field column="isbn" name="isbn_s"/> 
    </entity> 
</document></dataConfig> 

它看起来像使用DIH Solr不会像使用cfindex一样处理内容。我尝试使用cf创建的schema.xml中的不同字段名称来玩比赛等,但这并没有帮助。

任何帮助或建议,这个问题将是巨大的:)

问候马库斯

回答

1

有一些当你与DIH索引它的差异。像键一样,自定义字段和类别不可用。 DIH大多限于索引数据库,并且只需要3个属性收集,类型,动作。如果您正在使用DIH,则无需为cfindex提供文件。您只需将data-config.xml添加到集合的文件夹即可。

其他建议DIH Solr如何看到您观察到的其他任何不一致?

感谢 注:Kunal

+0

“像键,自定义字段和类别都没有。”如果您修改了数据配置和模式文件,它们不可用吗?我想你的意思是在函数调用中不可用。 – 2015-04-16 20:19:50