【发布时间】:2012-03-22 19:35:49
【问题描述】:
我正在使用 Apache Solr..我有以下场景..:
我的 PostGreSQL 数据库中有两个表。一种是“汽车”。其他是“经销商”
现在我有一个 Cars 的数据配置文件,如下所示:
<document name="offerings">
<entity name="jc_offerings" query="select * from jc_offerings" >
<field column="id" name="id" />
<field column="name" name="name" />
<field column="display_name" name="display_name" />
<field column="extra" name="extra" />
</entity>
</document>
我有一个类似的数据--config.xml 用于“Dealers”。它具有与 Cars 相同的字段:name、extra 等
现在在我的 Schema.xml 中,我定义了以下字段:
<fields>
<field name="id" type="string" indexed="true" />
<field name="name" type="name" indexed="true" />
<field name="extra" type="extra" indexed="true" />
<field name="CarsText" type="text_general" indexed="true"
stored="true" multiValued="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>CarsText</defaultSearchField>
<copyField source="name" dest="CarsText"/>
<copyField source="extra" dest="CarsText"/>
现在我想像这样搜索:“名字是 Maruti”..那么 Solr 将如何知道是否搜索 ::: Cars Field : name OR Dealer Field "name"..?
我已阅读以下链接:http://wiki.apache.org/solr/MultipleIndexes
但我无法理解是如何工作的..??
阅读该链接后:我在我的 Cars 和 Dealers *data-config.xml* 中创建了另一个字段。类似于:
<field name="type" value="car" /> : in Cars date-config.xml
和
<field name="type" value="dealer" /> : in Cars date-config.xml
然后在 Schema.xml 中我创建了一个新字段:
<field name="type" type="string" indexed="true" stored="true" />
然后我查询了类似的内容:
localhost:8983/solr/select?q=name:Maruti&fq=type:dealer
但它确实有效..!!
那我该怎么办??
【问题讨论】: