簡體   English   中英

Solr字段值在另一個查詢? 可能嗎?

[英]Solr field value in another query? is it possible?

我有這種類型的輸出

"docs": [
  {
    "id": "552e1acd5971b",
    "product_id": "NOT05253",
    "attribute_id": 0,
    "attribute_name": "Brend",
    "value_id": 12923,
    "value_name": "ACER",
    "category_id": 166,
    "_version_": 1498504104368930800
  },
  {
    "id": "552e1acd7d479",
    "product_id": "NOT05604",
    "attribute_id": 0,
    "attribute_name": "Brend",
    "value_id": 12923,
    "value_name": "ACER",
    "category_id": 166,
    "_version_": 1498504104523071500
  },
  {
    "id": "552e1acdc9c7c",
    "product_id": "NOT05988",
    "attribute_id": 0,
    "attribute_name": "Brend",
    "value_id": 12923,
    "value_name": "ACER",
    "category_id": 166,
    "_version_": 1498504104851275800
  },
  {
    "id": "552e1acdef261",
    "product_id": "NOT06361",
    "attribute_id": 0,
    "attribute_name": "Brend",
    "value_id": 12923,
    "value_name": "ACER",
    "category_id": 166,
    "_version_": 1498504105011708000
  }, ..... 

我想做的是獲取product_id匹配而另一個查詢中的一個product_id匹配的結果...

category_id:166 AND value_id:12923
AND product_id:( _query_:"value_id:64 " )

我正在使用它來使EAV產品過濾更快,並且此查詢特別要縮短ACER筆記本電腦的product_id計數,屏幕尺寸為15.6英寸:)

換句話說-類似於SQL查詢:

SELECT * FROM table WHERE value_id=12923 AND product_id IN (SELECT product_id FROM table WHERE value_id=64)

有困難嗎? :D

Solr具有此處描述的一些Join功能[1]。 這可能是您要尋找的。
關於其他條款:我將使用過濾器查詢(即fq = value_id:12923)


[1] https://wiki.apache.org/solr/Join

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM