我有以下手冊斯芬克斯查詢(經由MySQL客戶端),即產生正確的結果,我想通過從導軌思考斯芬克斯調用它。對於我的生活,我正在思考如何在思維獅身人面像中做出「獨特」的查詢工作。通過,思考斯芬克斯組與重複計數
mysql> select merchant_name, count (distinct part_number) from product_core group by merchant_name;
+-----------------------+-----------------------------------------+
| merchant_name | count (distinct part_number) |
+-----------------------+-----------------------------------------+
| 1962041491 | 1 |
| 3208850848 | 1 |
| 1043652526 | 48754 |
| 770188128 | 1 |
| 374573991 | 34113 |
+-----------------------+-----------------------------------------+
請注意:這個mySQL查詢是agaist獅身人面像,而不是mySQL。我使用mySQL客戶端連接到Sphinx,如:mysql -h 127.0.0.1 -P 9306
。這適用於調試/開發。我的實際分貝是Postgres。
鑑於此,並添加更多的上下文,我試圖結合思考斯芬克斯group_by
count('Distinct' ...)
。
所以,這個查詢的工作:
Product.search group_by: :merchant_name
...而且,這個查詢的工作:
Product.count ('DISTINCT part_number')
...但是,這個組合查詢拋出一個錯誤:
Product.search group_by: :merchant_name, count ('DISTINCT part_number')
SyntaxError: (irb):90: syntax error, unexpected (arg, expecting keyword_do or '{' or '('
...merchant_name, count ('DISTINCT part_num...
merchant_name和part_number都被定義爲屬性。
環境:
Sphinx 2.2.10-id64-release (2c212e0)
thinking-sphinx 3.1.4
rails 4.2.4
postgres (PostgreSQL) 9.3.4
我也曾嘗試使用構面,但無濟於事:
Product.search group_by: :merchant_name, facets: :part_number
Product.facets :part_number, group_by: :merchant_name
有關其他信息,並看看這可以通過思考獅身人面像調用來完成,這裏是一個基本的例子。我有一個產品表(和相關索引),列出了商家和他們的產品(我同意,它可以進行標準化,但是它來自數據饋送,Sphinx可以按原樣處理):
+-----------------+-------------------+
| merchant | product |
+-----------------+-------------------+
| Best Buy | Android phone |
| Best Buy | Android phone |
| Best Buy | Android phone |
| Best Buy | iPhone |
| Amazon | Android phone |
| Amazon | iPhone |
| Amazon | iPhone |
| Amazon | iPhone |
| Amazon | Onkyo Receiver |
+-----------------+-------------------+
的思維獅身人面像,我想:一組)的行由商人,和b)爲每個組創建一個「獨特」的產品數量。
上面的例子,應該給予以下結果:
+-----------------+------------------------+
| merchant | count(DISTINCT product |
+-----------------+------------------------+
| Best Buy | 2 |
| Amazon | 3 |
+-----------------+------------------------+
什麼是與查詢的問題? merchant_name是否返回整數?或者,除此之外,總值是否不準確?你使用的是什麼版本的獅身人面像? – pat
Pat,我的原始查詢通過MySQL客戶端(它證明我的索引和屬性起作用)完美地對抗Sphinx,我只是無法將查詢的'區域'部分寫入ThinkingSphinx調用。 –