나는 Coldfusion10에서 작동하는 solr 검색을 얻으려고합니다. Solr에서 빌드를 사용하고 CF Admin을 사용하여 컬렉션을 만들었습니다. 그것은 cfindex와 cfsearch 등에서 작동해야하는 schema.xml을 생성합니다.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"
/>
이 방법은 좋지만 빠르지는 않습니다. 완벽하게 검색 할 수 있습니다. 검색 기준에서 뭔가 잘못 입력하면 내 suggestedQuery 결과를 제공합니다. 예 : "pleystation"을 찾는 것은 "플레이 스테이션"을 제안합니다.
그런 다음 데이터 가져 오기 Hanlder von Solr에 시도해보고 싶었습니다. 데이터 뱅크 연결, 모든 기본 구성 파일이 전체 가져 오기를 시작할 수 있도록 모든 것을 갖추고 있습니다.
색인 생성 속도가 매우 빠르지 만 나에게 제안 사항 등을주지 못했습니다. 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>
그것은 cfindex 변경됨를 사용하는 경우이 이루어집니다 같은 방법으로 내용을 처리하지 않는 다이 하이드로 SOLR를 사용하여 같습니다. 나는 다른 필드 이름을 사용하여 cf에서 만든 contests와 같은 schema.xml을 만들려고했으나 도움이되지 않았습니다. 이 문제에 대한
어떤 도움이나 제안은 좋은 것입니다 :)
인사말 마르쿠스
당신이 다이 하이드로으로 색인 일부 차이가 있습니다
"키와 마찬가지로, 사용자 정의 필드와 범주는 사용할 수 없습니다." data-config 및 schema 파일을 수정 한 경우 사용할 수 없습니까? 함수 호출에서 사용할 수 없다는 것을 의미한다고 생각합니다. –