0

如果我尝试这个查询:

select * FROM sphinx.products where `query` = "test";

有用。但是,如果我尝试赋予它权重,它会返回一个错误:

select * FROM sphinx.products where `query` = "test;sort=extended:@weight DESC;weights=3,1,1,1";

失败并出现错误:

Error in query (1430): There was a problem processing the query on the foreign data source.
Data source error: searchd error: invalid deprecated unordered_weight count 4 (expe

(MariaDB 报告的错误在那里被截断,但我相信它说“预期为 0”)

和:

select * FROM sphinx.products where `query` = "test;sort=extended:@weight DESC";

失败并出现错误:

Error in query (1430): There was a problem processing the query on the foreign data source.
Data source error: searchd error: index 'sku_products': sort-by attribute '@weight'

(同样,SphinxSearch 返回的错误被 MariaDB 截断)

我找到的有关 SphinxSE 的所有文档都告诉我以这种方式查询索引,但它不起作用,但互联网上似乎没有人遇到过这个错误,因为没有人在任何地方询问这个问题......

难道我做错了什么?

4

1 回答 1

0

好吧,该选项weights=不起作用,但它接受了fieldweights=sku,90,partnumber,30,barcode,20,name,10.

(即,fieldweights=<field1_name>,<field1_weight>,...

结果是按重量排序的,即使没有指定sort=extended:@weight DESC,所以我避开了这两个错误并得到了我需要的东西。

希望这可以帮助处于相同情况的任何人。

于 2021-10-26T23:38:49.010 回答