问题标签 [solr-query-syntax]
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.
solr - solr 中用于常规查询的多个范围
当使用普通查询 (q) 而不是过滤查询 (fq) 时,如何在 solr 查询中拥有多个范围。我在这里查看了 solr 中的多个范围内的答案,但是当像这样使用普通查询时它们似乎不起作用:q=pageviews:([200 TO 250] OR [500 TO 550]),或页面浏览量: [200 到 250] 或浏览量:[500 到 550]。两者都试过了,但它们似乎不适用于我拥有的 solr。我发现的一个区别是我的 solr 只接受普通查询而不是过滤查询。
solr - 如何使用类似于 rdbms 子查询的 Solr 子查询?
我需要在 Solr 中运行一个查询,其中包含另一个查询作为主查询的术语!
在 RDBMS SQL 中是这样的:
Solr有什么办法吗?
php - 使用 SOLR 和 PHP 通过用户名和名称搜索查找用户的关注者
我要做的是创建一个输入字段,当您键入时,它将根据输入的用户名和/或名称搜索关注您的用户。
我正在尝试使用 SOLR,因为它速度快而且我无法使用 MySQL 的 LIKE 功能,但是我遇到了可以传递给 SOLR 查询的值的数量问题(例如user_id:(1,2,3,5,etc)
)。SOLR 显然对您可以传递的值的数量有限制,我需要这个解决方案不受限制。
截至目前,我的 SOLR 索引包括username
、name
和user_id
. 然后,我将以前收集的列表传递follower_ids
给查询。
关于如何使这项工作的任何想法?
更新:正如增加 OR 子句的评论中所建议的那样......这确实不是一个好的解决方案,因为它会导致未来的问题。
solr - 查询多值字段大小
我需要帮助。我需要查询结果基于多值字段大小。例如:我想要所有具有 5 个 sku 的文档。我有一个名为 skulist 的多值字段。我可以搜索多值字段大小吗?谢谢。
function - 具有 ex 和 tag 功能的 Solr 多方面
我正在使用 Solr 4.10,我们的要求是具有多个方面。每个方面应该过滤应该只影响选定的方面,而不是其他方面。
例如,假设有两个方面 BRAND 和 TYPE。当用户选择品牌为 Nikon 时,它应该影响 TYPE 方面,而不是 BRAND 方面。TYPE 的类似行为。
我尝试使用 tag 和 ex 函数实现,查询如下所示,
这在大多数情况下都可以正常工作,但是当结果为零时,Solr 会以某种方式返回其中一个方面的方面。对于上面的查询,我得到了一些类型的值,即使响应中没有文档。
以下是我们得到的回应,
}
solr - SOLR 中的 Isnull 等效项
我在 sql server 中的查询就像where isnull(id,'3') = 3
它会给我所有空值以及等于 3 的值。我想在 SOLR 中实现相同但无法获得它。我试过了
但它没有给我任何结果,而-id:[* TO *]
它给了我正确数量的结果。如何进行查询?
solr - Solr Query 通过连接搜索子文档和父文档
我需要帮助构建一个 Solr 查询,它不仅可以搜索子文档并返回父文档,还可以搜索父文档。请参阅下面的示例架构:
制造商
- ID
- 姓名
- 注释
产品
- ID
- 制造商 ID
- 产品名称
所有 Solr 文档都有一个唯一的 ID 字段,但 Products 有一个特殊的字段“ManufacturerId”作为外键。
我想搜索所有名称为“iPod”的产品并返回父“制造商”文档。我可以通过使用下面的 Join 语句来完成。
另外,我想撤回那些在评论中有 iPod 的制造商。因此,结果将包括所有拥有 iPod 产品并在其评论字段中包含 iPod 一词的制造商。我试过以下没有运气。
任何帮助将不胜感激。
谢谢!!
更新:
当我使用过滤查询“fq”字段而不是常规查询字段“q”时,它似乎可以正常工作。我不确定这是否是最好的解决方案。另外,我想知道相关性是否会以同样的方式工作。更好的解决方案表示赞赏。
或者
solr - Solr 精确匹配提升 减少结果
我有两个字段,一个是复制字段。
<field name="product_name" type="text_wslc" indexed="true" stored="true" required="true" multiValued="false"/>
<field name="dummy_name" type="string_ci" indexed="true" stored="false" required="true" />
其定义如下
提交的副本是首先获得完全匹配的结果。我的查询是这样的
/select?q=("laptop+bag")&df=product_name&defType=edismax&qf=dummy_name^20000+product_name^0.01
它给了我大约 8000 个结果
但实际结果是20000左右
但它不会首先列出确切的结果。我该如何解决这个问题?我的查询有问题吗?这是我的字段和定义
mysql - Solr 的 MySQL 'BETWEEN' 查询模拟
我需要向 Apache Solr 发出类似于 MySQL BETWEEN 查询的搜索请求。
在 Solr 文档中,我有两个字段:“postcode_from”和“postcode_to”。这是一些国家地区或城市的一系列邮政编码。
只有整数!!!
我有一个介于“postcode_from”和“postcode_to”之间的值(例如 1234),我需要找到所有通过此条件的记录。
在 MySQL 中,它很容易解决:
如何为 Solr 编写正确的查询?
谢谢你的帮助!
solr - 结合两个 Solr MLT 查询
只是想知道是否可以将 MLT 查询(基于过滤条件)组合成一个查询。我正在尝试结合这两个查询的结果:
Source 字段对于两个查询具有不同的值。我想结合两个查询的结果,是否可以在一个查询中完成?
任何指针将不胜感激。