问题标签 [sphinxql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2313 浏览

php - SphinxQL-查询-生成器。PHP 警告:数据包乱序。预期 0 收到 1. 数据包大小=0

我在 192.168.1.102:9312 上启动了 Sphinx,并尝试从我的客户端机器上运行一个查询:

它产生以下输出:

怎么了?

0 投票
0 回答
192 浏览

sphinx - 在 SphinxQL 中从 JSON MVA 字段中获取最大匹配值

使用 SphinxQL,我想通过 JSON MVA 属性对结果进行排序,该属性具有与之关联的过滤条件。

例如,我有一个索引,其中包含:

其中门票是一个 JSON 数组,如:

JSON 数组中的条目按价格排序,允许按升序对过滤后的数据进行排序,如下所示:

但是,我怎样才能按 DESCENDING 顺序排序?我需要在请求的价格范围内提取最大的tickets.price 元素,但我看不到任何使用SphinxQL 的方法。门票[LENGTH(tickets)-1].price 将为我提供活动中最高的门票价格,但它不会尊重价格范围过滤器。

该解决方案需要在纯 SphinxQL 中,以保持外部分页工具正常工作的能力。

0 投票
1 回答
199 浏览

sphinx - 在 Sphinx 查询中使用自定义变量

我需要通过一个队列执行 2 个查询,并将第一个查询的结果传递给其他查询的 IF 表达式以及普通的 MySQL 查询。

例如,我尝试将 @average 变量传递给第二个查询:

但我有解析错误。我该怎么做?

0 投票
2 回答
464 浏览

real-time - 实时索引上的 Sphinx 通配符匹配

我创建了实时索引:

然后我尝试通过 SphinxQL 按产品名称字段获取数据:

此查询工作正常,但我需要找到部分单词,例如“mother”必须返回带有“mothercare”的产品。我试过了:

我尝试将 min_infix_len 更改为 min_prefix_len。没有任何工作。

0 投票
0 回答
52 浏览

php - 水龙头字段中 sphinxql 中的斜线或空格不起作用

我有一个这样的查询:

sphinx conf 具有以下属性设置:

此查询完美运行,我得到了main search keywords按构面值过滤的结果somevalue

some value但是,如果我的查询中有空格(像这样)或斜杠(像这样),则相同的查询不起作用some/value(当然,数据库中的值带有空格和斜杠)。

“不起作用”是指它不会带来任何结果。

我还尝试转义正斜杠的情况,即我使用了some\/valueand some\\/value,但它仍然没有返回任何结果,尽管 db 确实有它们。

有什么建议么?

编辑:

0 投票
0 回答
207 浏览

mysql - Sphinxsearch - 我如何找到标签最相似的项目?

我有一个posts带有 MVA 的索引tag,配置类似于以下内容:

现在对于给定的帖子,我想找到具有最接近标签的所有其他帖子,例如

  • 帖子1:猫,可爱,有趣
  • 帖子2:猫,可爱,认真
  • 帖子3:狗,可爱
  • 帖子 4:伊斯兰国

对于帖子 1,我想找到帖子 2(因为它有 2 个匹配的标签),然后是帖子 3(1 个匹配的标签)。如何使用 SphinxQL 执行此操作?

我已经设法使用以下查询得到我想要的东西:

select id, in(tag,55)+in(tag,1321) AS shitfix from posts where match('') and tag in (55,1321) ORDER BY shitfix DESC;

但感觉应该有更好的方法。

0 投票
1 回答
146 浏览

sphinx - sphinxql 是否支持“不在之间”?

我试过了

并得到了很多行。但斯芬克斯抱怨

当我尝试

我搜索了狮身人面像官方文件,其中说:

WHERE 子句。该子句将映射到全文查询和过滤器。比较运算符(=、!=、<、>、<=、>=)、IN、AND、NOT 和 BETWEEN 都受支持并直接映射到过滤器。OR 尚不支持,但将来会支持。支持 MATCH('query') 并映射到全文查询。

但它没有关于 NOT BETWEEN 的例子。谁能告诉我 sphinxql 是否支持 NOT BETWEEN?如果如果支持,正确的语法是什么?

0 投票
1 回答
213 浏览

sphinx - SphinxQL 变量已弃用,备用查询?

我有一个我认为是相当简单的 SphinxQL 查询,但事实证明 @ 变量已被弃用(参见下面的示例)

我觉得必须有一种方法可以按匹配强度对结果进行排序。什么是替代品?

另一方面,如果出现某些其他词,我想在其中包含贬值怎么办。例如,假设我想贬低包含“服装”一词的结果。可以在同一个查询中执行吗?

谢谢!

0 投票
1 回答
6236 浏览

sphinx - SphinxQL MATCH - 如何使用?

请向我解释一下,SphinxQL 中的 MATCH() 运算符是什么 - 如何使用它?

对不起,如果我的问题对某人来说是愚蠢的,但我真的在网上找不到任何正常的解释。

例如,我有这个要求:

这是什么意思?

谢谢。

0 投票
0 回答
32 浏览

mysql - MySQL:在聚合字符串中搜索多个值

如果我有如下表

col_2GROUP_CONCATed(分号)列在哪里,我正在传递"E; A; C",我想选择19, 23,因为至少有 1 个单词(用分号分隔)匹配。

无法弄清楚如何将其作为 MySQL 查询?

PS:这个会用到SphinxQL(Sphinx搜索引擎Query Lang)中,和MySQL类似。