В моей базе данных есть три столбца, которые я настроил для индексации lucene. Тем не менее, я могу искать только по одному из них. Полное описание следующее:
Я следую этим инструкциям, чтобы настроить solr для использования данных mysql:
http://digitalpbk.com/apachesolr/apache-solr-mysql-sample-data-config
Я скачал драйвер jdbc, поместил его в / example / lib и создал новый requestHandler
в /example/conf/solrconfig.xml.
Моя таблица базы данных items
имеет три столбца:
id
: int, первичный, автоинкрементный ключ
name
: varchar (256)
description
: varchar (511)
Итак, я создаю следующий data-config.xml:
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://SERVER/DATABASE"
user="USERNAME"
password="PASSWORD"/>
<document name="content">
<entity name="node" query="select id, name, description from items">
<field column="id" name="id" />
<field column="name" name="name" />
<field column="description" name="description" />
</entity>
</document>
</dataConfig>
Затем я редактирую schema.xml в / example / solr / conf, чтобы сообщить ему о новых именах:
<field name="id" type="string" indexed="true" stored="true">
<field name="name" type="string" indexed="true" stored="true">
<field name="description" type="string" indexed="true" stored="true">
Мне пришлось раскомментировать описания id
и name
, которые присутствовали в этом файле ранее, поскольку они конфликтовали с моими описаниями.
Затем я успешно импортировал базу данных (около 100 тыс. Строк).
В конце всего этого я могу успешно выполнить поиск по name
, но я не могу выполнить поиск по description
или id
. Я не понимаю, почему это должно быть так. Любая помощь или указатели будут оценены.