Импорт данных Coldfusion10 Solr cfindex отличается от DataImportHandler. Как настроить data-config.xml?

Я пытаюсь заставить поиск 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, например, с конкурсами и т. д., но это не помогло.

Любая помощь или предложения по этой проблеме были бы замечательными :)

Привет Маркус


person Markus Boltersdorf    schedule 09.07.2012    source источник


Ответы (1)


Есть некоторая разница, когда вы индексируете его с помощью DIH. Как и ключ, настраиваемые поля и категории недоступны. DIH в основном ограничен индексированием БД, и требуются только 3 атрибута коллекция, тип, действие. Если вы используете DIH, нет необходимости предоставлять файл для cfindex. Вам просто нужно поместить data-config.xml в папку коллекции.

Другие предложения, как DIH Solr, есть ли какие-либо другие несоответствия, которые вы заметили?

Спасибо, Кунал.

person kunal saini    schedule 16.09.2012
comment
Как и ключ, настраиваемые поля и категории недоступны. Разве они не будут доступны, если вы измените файлы конфигурации данных и схемы? Я думаю, вы имеете в виду недоступен в вызове функции. - person jim collins; 16.04.2015