我有一個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