2013-03-08 44 views
1

對於一個快速項目(不是作業,我保證!),我有一個簡單的solr安裝與兩個核心'人'和'工作'。每個都有一些結構化數據,但也是一個文本字段。Solr'join'使用文本字段(來自另一個集合)

我想使用people.text查詢到jobs.text查詢。

我一直無法找到這個例子,而SolrQuerySyntax頁面沒有引用集合或核心。

沒有使用真正'連接'的字段。

可能嗎?你能指點我一個例子/教程嗎?

謝謝。

回答

1

Solr可以跨核心執行連接。有關如何操作,請參閱this StackOverflow。

但有一兩件事,除了這個職位,這Solr-Wiki說:

Solr的加入實際上並不連接(在SQL術語),但內蒙古 查詢的方式。

考慮到您的情況,我假定兩個核心(「人員」和「工作」)具有共同的字段,您在其上執行「加入」操作。讓我們稱之爲「ID」。

通過Solr加入,您將能夠從「人員」或「工作」中獲得包含字段的生成文檔,但不能從兩個核心中合併字段。

因此,它實際上是一個

  • 內部查詢

從人選擇peopleField1,peopleField2其中people.id = jobs.id

從人們那裏people.id = jobs.id

,而不是一個

  • 加入

選擇peopleField1,peopleField2,jobField1,jobField2從選擇jobField1,jobField2人, 加入where people.id = jobs.id

+0

我看到了使用結構化數據的例子,比如ID。我的問題是關於非結構化數據 - people.text到jobs.text。 – 2013-03-10 19:18:55

+0

我認爲結構化/非結構化數據與Solr聯接沒有任何關係。即使您在其中包含文本的非結構化字段上執行加入,Join也將照常執行,但是會在「精確」匹配文本中執行。 – Mavellin 2013-03-11 03:28:33

+0

聽起來像是一個'不'。無論如何,感謝Mavelin。 – 2013-03-11 05:56:25

相關問題