问题标签 [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 查询 bf 归档
我对 solr 非常陌生,并且正在努力解决文档问题,但无法理解bf
这是什么意思bf= x^y
这个怎么运作?如果要影响上述查询的不同值x
和分数,分数将如何?y
有什么具体的公式还是什么??
solr - 如何在 Solr 中查询具有给定未定义字段的文档?
我无法获取如何查询我的索引以查找所有没有名为“adm4”的可选字段的文档。
有什么建议吗?
solr - 如何在 Solr 中以特定的列顺序获取相关搜索结果。
我想将我的 Solr4.7.2 结果按特定的相关顺序分组,这样我就有 3 列,即标题、摘要和内容,我正在对这些列进行 solr 搜索。
目前我正在通过执行此查询来使用简单查询解析器。
它通过搜索字符串“2016”向我显示结果
现在我想以一种方式对我的结果进行分组,确切的标题匹配应该首先以相关性顺序显示>然后是精确摘要匹配>然后是精确内容精确匹配。在另一组中,它应该显示较少得分的磁贴 > 摘要 > 内容。
对于前。预期结果应该是
我尝试通过应用 qf=title^2 摘要内容来使用 dismax 查询解析器,但它没有显示任何结果。
cassandra-2.0 - Cqlsh 查询通配符
我想要一个查询来执行以下操作
列出以 A 开头或结尾的员工姓名
但我在一些网站上看到 cassandra 不支持通配符是真的还是假的
我也提到了 solr_query 但 cqlsh 给出了错误 undefined name solr_query
select * from emp where solr_query='name:A* or name:*A'; 名称在哪里
这个你能帮我吗
solr - 通过使用uniquekey中的通配符的原子更新从多值字段中删除值?
我有一个多值字段(custprc),有一个整数(键),一个下划线,然后是一个十进制值。该字段如下所示:
{1234_11.22, 1235_12.00, 1236_11.44}
假设我使用唯一键字段 (id),我可以使用具有原子更新的remove或removeregex命令从该字段中删除条目,没有问题。但是,我希望能够通过在 id 字段上使用通配符,或者根本不使用 id 字段而只使用另一个字段(catlgcode)来进行类似的更新。
以下命令可以正常工作:
{"id":"20303001123", "custprc":{"removeregex":["1234.[0-9]+.[0-9]+"]}}
我想使用更像这样的东西:
{"id":"20*", "custprc":{"removeregex":["1234.[0-9]+.[0-9]+"]}}
或这个:
{"catlgcode":"20", "custprc":{"removeregex":["1234.[0-9]+.[0-9]+"]}}
两者似乎都不起作用。SOLR 不返回错误,我得到响应代码 0,但没有触及记录。我已在我的 schema.xml 中将 id 字段设置为 required=false,并且我尝试将其从 string 更改为 text_general,但到目前为止没有运气。
我相对频繁地更新一个大型数据集,因此我宁愿发送 1 个带有通配符的请求,而不是 30,000 多个原子更新。我错过了什么吗?有任何想法吗?
solr - 使用 solr 在单个查询中通过多个连接规范化响应
可以对以下 solr 集合执行查询
这将返回类似:
在典型的搜索框输入中按 book_name AND/OR category_name AND/OR author name 搜索?或替代响应,我会返回类似的东西?
否则,实现它的首选解决方法/最佳实践是什么?
...我们希望通过前端 Web 应用程序执行单个查询,而不使用后端 Web 应用程序来构建响应,因为该数据已经在 solr 中。
sorting - Solr按相关性排序并包含多个字段
我正在使用 Solr 5.3.0 制作新闻搜索系统。假设我有以下新闻领域:{
- 标题
- 内容
- 日期
- 新闻类型
}
我在这个搜索系统中同时搜索公司名称和经理名称。让我们说“Stark Industries”作为公司名称,“Tony Stark”作为经理名称。我想按日期(这很容易做到)、相关性和以下规则对结果进行排序:
A:
有关术语同时存在于“标题”字段和“内容”字段中的消息。
有关术语仅存在于“标题”字段中的消息。
有关条款仅存在于“内容”字段中的消息。
乙:
公司名称(Stark Industries)和经理名称(Tony Stark)都存在的消息。
只有公司名称存在的新闻。
只有经理姓名存在的新闻。
顺序应该是 1>2>3(这意味着 1 应该在 2 的顶部)。而A和B应该是两种不同的新闻评分方式。最终得分可能等于 A*B。
我使用此代码赋予“标题”字段比“内容”字段更大的权重defType = edismax & qf=notice_title^200+notice_content
。所以我让“标题”字段比“内容”字段更重要。
但是通过这种方式,我无法确定 A1 > A2 > A3。它只会增加“标题”字段的分数。与规则 B 相同,我只能使用 qf 来增加公司名称的权重。
如果有办法增加 (Title && Content):(CompanyName && ManagerName) 的权重,应该会有所帮助。(我试图表示这两个字段中都存在这两个术语。)但是这种语法在 qf 中不起作用。
任何帮助将不胜感激。
solr - SOLR 两个查询的并集
我需要类似于下面的 sql 的联合。
选择前 10 个 * from table1 order by name desc union Select top 5 * from table1 order by name asc
所以结果应该是一个包含 15 条记录的列表。是否可以在 SOLR 的单个查询中执行此操作?
我正在使用 SOLR 5.3.1
感谢并非常感谢您的反馈。
solr - Solr 不包括结果中具有空值的字段
Solr 上的索引数据包含一些具有空值的字段。当我运行q=*:*
它时,它不包括具有空值的字段。查询时我需要传递什么参数以获取结果中具有空值的字段。
编辑:我正在使用 csv 文件索引数据,文件中的条目如下:
现在,当我搜索前 10 条记录时,我只得到两个字段。即使没有为此存储任何值,我也想获取所有字段。