我有一个Apache Solr实现3.5设置中,像这样的SchemaXml:如何在Apache Solr中创建复合键字段?
<field name="appid" type="string" indexed="true" stored="true" required="true"/>
<field name="docid" type="string" indexed="true" stored="true" required="true"/>
我需要的是,一起将其连接,并将其用作<uniqueKey>
的字段。似乎没有什么内置的,缺少创建一个多值id
字段和使用<copyField>
,但似乎uniqueKey需要一个单值字段。
我需要这个的唯一原因是允许客户盲目地触发<add>
调用,并让Solr找出是否是添加或更新。所以我不在乎这个ID如何看起来像。
我假设我必须编写我自己的Analyzer或Tokenizer?我刚开始学习Solr,所以我不能100%确定我真正需要什么,并希望得到我需要实现的任何提示。
我不确定java api如何处理文档的添加或更新,但它应该是: - 如果找到了ID =更新doc,否则插入doc。所以,我猜这个ID确实很重要...... – ajreal 2012-03-19 17:51:39
@ajreal是的,这是Solr在指定uniqueKey时所做的。问题是,我的唯一ID由两个不同的ID组成,我想将创建该组合ID的负担从应用程序开发人员转移到搜索服务器。 – 2012-03-19 17:54:41
@MichaelStum你试过我的解决方案吗?我可以知道你的想法吗? – javanna 2012-04-02 07:31:04