4

Solr サブクエリを実行する必要があります。MySQL の場合は次のようになります。

SELECT *
FROM solr_index
WHERE type = 'person' AND 
city IN (SELECT name FROM solr_index WHERE name = 'London' AND type = 'city')

どうやら Solr Join は非常に似ています - http://wiki.apache.org/solr/Join。しかし、これらは Solr 4 でしか利用できないようです。Solr 3.X でこれを行う方法はありますか?

理想的には、ComplexPhraseQueryParser と互換性があり、Solr PHP クライアントまたはソラリウムがサポートしている方法です。

どんな助けでも大歓迎です。

アップデート:

場所に関連しない別の例:

SELECT *
FROM solr_index
WHERE type = 'project' AND 
tag IN (SELECT name FROM solr_index WHERE name = 'Elephant' AND type = 'tag')
4

3 に答える 3

2

結合はsolr 3.4以降にあります。これをチェックしてください

http://lucidworks.com/blog/lucene_3_4_0/

于 2012-05-22T15:11:46.617 に答える
1

フィルター クエリとファセットのさまざまなバリエーションを試してみます。何かのようなもの:

q=*:*
fq=(type:city AND name:london)
facet=true
facet.query=type:person

これがお役に立てば幸いです。

于 2012-05-10T02:04:05.167 に答える