- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 solrj API 来查询我的 SOLR 3.6 索引。我有多个文本字段,我想对它们进行不同的权重。根据我所读到的内容,我应该能够使用 dismax 或 edismax 查询类型来完成此操作。我尝试过以下方法:
SolrQuery query = new SolrQuery();
query.setQuery( "title:apples oranges content:apples oranges");
query.setQueryType("edismax");
query.set("qf", "title^10.0 content^1.0");
QueryResponse rsp = m_Server.query( query );
但这行不通。我尝试了以下变体来设置查询类型,但似乎没有什么区别。
query.setQueryType("dismax");
query.set("qt","dismax");
query.set("type","edismax");
query.set("qt","edismax");
query.set("type","dismax");
我想保留完整的 Lucene 查询语法,因此我更喜欢 ExtendedDisMax 而不是 DisMax。增强查询中的单个术语(如下所示)确实有效,但不是有效的解决方案,因为查询是自动生成的,并且语法可能变得任意复杂。
query.setQuery( "title:apples^10.0 oranges^10.0 content:apples oranges");
任何帮助将不胜感激。
最佳答案
最好的方法是在 solrconfig.xml 中定义一个请求处理程序,例如 -
<requestHandler name="search" class="solr.SearchHandler" default="true">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="defType">dismax</str>
<str name="qf">
title^1 content^0.8
</str>
<str name="q.alt">*:*</str>
<str name="rows">10</str>
<str name="fl">*,score</str>
</lst>
</requestHandler>
并使用 qt 参数来定义请求处理程序 -
query.set("qt","search");
您只需更改 solr config xml 配置并重新加载核心即可微调 boost 配置。
关于search - 使用 Solrj 增强 SOLR 中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10324969/
是否可以使用 SolrJ 客户端从某些 Core 检索所有存储的字段? 例如 谢谢,彼得 最佳答案 您可以使用特定核心的 SolrJ 客户端获取有关字段的信息。 使用以下代码片段进行检索。 i
是否可以使用 SolrJ 客户端从某些 Core 检索所有存储的字段? 例如 谢谢,彼得 最佳答案 您可以使用特定核心的 SolrJ 客户端获取有关字段的信息。 使用以下代码片段进行检索。 i
Exception in thread "main" org.apache.http.ParseException: Invalid content type: at org.apache.h
大家好, 我必须针对索引查询多个值(就像 IN (id1, id2, id3) sql 查询一样) 使用 SolrJ,换句话说,我想检索与一组值匹配的字段的文档。 由于 solrj api 有粗略的记
我的(网络)应用程序中有以下工作流程: 从存档下载 pdf 文件 索引文件 删除文件 我的问题是在索引文件后,它保持锁定状态,并且删除部分引发异常。 这是我用于索引文件的代码片段: try {
我正在使用 SolrJ API 向 Solr 4.3 核心添加文档,我注意到我在我使用的股票 solrconfig 中将自动提交设置为 15 秒,如下所示。 ${solr.autoCommi
我们正在使用 SolrJ 在 Solr 上构建一个包装器。 此包装器将允许客户端指定集合名称,然后使用 SolrJ 包装器与该集合交互以进行插入/更新/查询。 我已经能够执行插入/更新/查询操作,但无
我有一个 solr 模式,其中包含不同类型的动态字段。例如,在 schema.xml 中有: 我想使用 SolrJ 注释的 POJO 访问这些字段。我知道我可以为 POJO 中的每种数据类型
我正在尝试使用 TermsComponent使用 Solrj 实现自动建议,但我不知道如何指定路径(即 /terms 的 http://localhost:8983/solr/terms 部分)。 如
我在 Solr 4.0 中有一些文件.我希望首先显示最相关的记录,然后显示不太相关的记录。 例如,我有 3 个文件,标题如下 - 收入分配政策 收入分配与经济政策 发展中国家的收入分配政策 现在,当我
Solr 4 测试版已经发布,GA 版本即将推出。如此处所述,部分文档更新已存在一段时间:http://solr.pl/en/2012/07/09/solr-4-0-partial-documents
如何使用 SolrJ 按日期请求? 我得到一个格式为'01/10/2014'的日期作为参数。然后我将此格式转换为 Date 对象,并将该对象转换为 UTC 格式。这是我正在做的事情的代码示例: pub
每当我在 Solr 上执行查询时,即使是最简单的查询 *:*,我也会收到错误消息 Exception in thread "main" org.apache.solr.client.solrj.Sol
我正在运行以下程序。主线程正常运行和终止,但程序继续运行,因为有一个名为 pool-1-thread-1 的线程,该线程永远不会终止。谁能建议代码有什么问题吗?配置文件均在 Solr 标准发行版中提供
我有以下 solrj 查询: HttpSolrClient solr = new HttpSolrClient.Builder("http://10.xx.xxx.xxx:8983/solr"
我正在使用 Solrj 的原子更新。它工作得很好,但我不知道如何删除现有文档中的字段。 在 Solr 教程 ( http://wiki.apache.org/solr/UpdateXmlMessage
我在 Web 应用程序中使用 CommonsHttpSolrServer。在多个请求中重用 CommonsHttpSolrServer 是否安全,还是应该为每个请求实例化一个新对象?无法在 API 文
我正在使用 solrj 从 solr 安装执行查询搜索。 这就是我所拥有的: public List search(String query, int first, int rows) { L
我有一个“查询字符串”格式的 SOLR 查询 q=*&fq=myfilters&... 有没有办法从中构建 SolrQuery? 我看到有ClientUtils.toQueryString存在,基本上
我在我的 Web 应用程序中使用 Solr 作为搜索引擎。我使用 DataImportHandler 自动将数据从我的数据库导入到搜索索引中。当 DataImportHandler 添加新数据时,数据
我是一名优秀的程序员,十分优秀!