Я пытаюсь заставить поиск solr работать с Coldfusion10. Я использовал сборку при установке Solr и создал коллекцию с помощью администратора CF. Он создает schema.xml, который должен работать с cfindex, cfsearch и т. д.
Сначала я написал скрипт импорта в coldfusion, извлек данные с помощью запроса и передал их в solr с помощью cfindex.
<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"
/>
Это работает хорошо, но недостаточно быстро. Я могу отлично искать, он дает результаты моего предложенного запроса, если я что-то неправильно написал в своих критериях поиска. Например. Поиск «playstation» предлагает «playstation» и т. д.
После этого захотелось попробовать Data Import Handlder 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>
Похоже, что при использовании DIH Solr не обрабатывает содержимое так, как это делается при использовании cfindex. Я пытался играть с разными именами полей из файла schema.xml, созданного cf, например, с конкурсами и т. д., но это не помогло.
Любая помощь или предложения по этой проблеме были бы замечательными :)
Привет Маркус