我是solr的新手。我有几个关于solr索引和搜索的问题:
如果是,请告诉我相关步骤。
我想我们可以使用两个不同的data-config.xml文件。但需要知道如何在schema.xml中配置和相应的更改。
请帮帮我,让我们知道是否有参考文件。
答案 0 :(得分:5)
2个不同的表无关系
数据-config.xml中:强>
<document>
<entity name="topic" transformer="TemplateTransformer" pk="topic_id" query="select topic_id,topic_title,creation_date,updation_date,vote_count,.....">
<field column=" doc_id " template="TOPIC_${topic.topic_id} " />
<field column="doc_type " template="TOPIC " />
</entity>
<entity name="product " transformer="TemplateTransformer " pk="product_id " query="SELECT product_id,..... ">
<field column="doc_id " template="PRODUCT_${product.product_id} " />
<field column="doc_type " template="PRODUCT " />
<field column="product_supplier_id " name="product_supplier_id " />
<field column="supplier_product_code " name="supplier_product_code " />
<field column="product_display_name " name="product_display_name " />
</entity>
</document>
<强> schema.xml中:强>
<schema>
. . .
<fields>
<field name="doc_id" type="string" />
<field name="doc_type" type="string" />
<field name="catchall" type="string" stored="false" omitNorms="true" multiValued="true" />
<field name="topic_title" type="text_general" />. . . .
</fields>
<uniqueKey>doc_id</uniqueKey>
<copyField source="*" dest="catchall" />
<!-- field for the QueryParser to use when an explicit fieldname is absent -->
<defaultSearchField>catchall</defaultSearchField>
</schema>
更多信息 - http://www.lucidimagination.com/blog/2011/02/12/solr-powered-isfdb-part-4/
不需要上述字段,也可能在编制索引时产生问题
您可以在浏览器上查询http://localhost:8080/solr/select/?q=*:*&fq=doc_type:PRODUCT
答案 1 :(得分:0)
您可以使用Solr轻松完成此操作,只需仔细阅读DataImportHandler即可: http://wiki.apache.org/solr/DataImportHandler 这个例子: http://wiki.apache.org/solr/MultipleIndexes
然后针对实体的具体示例进行一些谷歌搜索。基本上,您的data-config.xml应该像这样(未经测试):
<entity name="books" transformer="TemplateTransformer" dataSource="myindex"
query="SELECT * FROM t_books";>
<field column="category" template="books" name="category"/></entity>
<entity name="computers"
dataSource="myindex"
query="SELECT * FROM t_computers">
<field column="category" template="computers" name="category"/></entity>
使用模板分隔两个实体,并将类别字段定义为schema.xml中的字符串。此外,请确保您注意如何设置唯一ID参数,此特定主题的一些信息在此处: http://lucene.472066.n3.nabble.com/Indexing-multiple-entities-td504464.html 并在这里查看: http://search.lucidimagination.com/search/document/f84c3abf7e859be1/dataimporthanlder_multiple_entities_will_step_into_each_other
使用这种方法,您可以在同一索引中拥有两组数据,如果您希望它们适用于两个单独的搜索框,您只需运行以下搜索:
myquery和类别:(书籍)&lt; ---这只能从书中获得结果,或者这个只会得到你的计算机结果---&gt; myquery和类别:(计算机)。 希望能帮助到你。 对于你的pdf问题,我相信你必须使用Apache的Tika模块,我在这里没有太多帮助,因为我自己没有使用它,但这里的链接: http://wiki.apache.org/solr/TikaEntityProcessor