Coldfusion10 で solr 検索を実行しようとしています。Solr インストールでビルドを使用し、CF 管理者を使用してコレクションを作成しました。cfindex や cfsearch などで動作する schema.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 の結果が得られます。例: 「プレイステーション」の候補g 「プレイステーション」などを検索します。
その後、データ インポート Hanlder von Solr を試してみたいと思いました。データバンク接続、完全なインポートを開始するためのすべての基本的な構成ファイルなど、すべてが機能するようになりました。
インデックス作成は非常に高速でしたが、提案などはありませんでした。data-import.xml ファイルを正しく構成していないと確信しています。問題は、Coldfusion10 が cfindex タグに指定して solr に送信するファイルをどのように処理するかがわからないことです。
これは、私が試した data-config.xml ファイルの 1 つです。
<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 とは異なるフィールド名で遊んでみましたが、役に立ちませんでした。
この問題に対する助けや提案は素晴らしいでしょう:)
こんにちはマルクス