Solrj 查询 - 首先获取最相关的记录

2023-12-15

我有一些文件Solr 4.0。我希望首先显示最相关的记录,然后显示不太相关的记录。

例如,我有 3 个文档,标题如下 -

  1. 收入分配政策
  2. 收入分配和经济政策
  3. 发展中国家的收入分配政策

现在当我查询类似的东西时q=title:Income Distribution Policy,

我希望第 3 个文档首先显示(因为前 3 个单词是完全匹配的),然后我希望第 1 个文档第二个显示(除了“走向”剩余的匹配项),然后我想要第 2 个文档出现(因为中间有一些单词)。

My schema.xml看起来像这样 -

<types>
  <fieldType name="search" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="German2" />
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="German2" />
    <filter class="solr.PorterStemFilterFactory"/>
  </analyzer>
</fieldType>
</types>

<fields>
   <field name="title" type="search" indexed="true" stored="true"/>
</fields>

编辑1 调试输出

"rawquerystring": "title:Income Distribution Policy",
"querystring": "title:Income Distribution Policy",
"parsedquery": "title:incom title:distribut title:polici",
"parsedquery_toString": "title:incom title:distribut title:polici"

编辑2修改了fieldType

我使用了以下组合,输出仍然相同。

  1. StandardTokenizerFactory - autoGeneratePhraseQueries(不存在) - PorterStemFilterFactory。
  2. StandardTokenizerFactory - autoGeneratePhraseQueries="true" - PorterStemFilterFactory。
  3. StandardTokenizerFactory - autoGeneratePhraseQueries(不存在)。
  4. StandardTokenizerFactory - autoGeneratePhraseQueries =“true”。
  5. WhitespaceTokenizerFactory - autoGeneratePhraseQueries(不存在) - PorterStemFilterFactory。
  6. WhitespaceTokenizerFactory - autoGeneratePhraseQueries="true" - PorterStemFilterFactory。
  7. WhitespaceTokenizerFactory - autoGeneratePhraseQueries(不存在)。
  8. WhitespaceTokenizerFactory - autoGeneratePhraseQueries =“true”。

如果您不按其他任何内容排序,则您将按相似性/相关性排序。因此,如果您没有以正确的顺序获得结果,您可能需要考虑如何分配权重以及您正在使用哪些查询解析器。

我假设您正在使用 eDismax 并在标题字段上进行增强。另外看看mm(最小匹配)和pf(短语字段)用于提升。

您可能还想使用 fieldType 上设置的 autoGeneratePhraseQueries 字段进行测试。

而且当然,调试查询=true查询将帮助您了解发生了什么。您可能会发现还添加了debug.explain.structed=true在您尝试读取调试输出的前几次可能很有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Solrj 查询 - 首先获取最相关的记录 的相关文章

  • 如何使用 lucene 查询找到空的 Solr 文档字段

    我有一些这样的文件
  • 如何使用 solrnet 在 solr 中使字段搜索不区分大小写

    在 solr 模式中我有如下字段
  • Laravel Schema Builder 改变存储引擎

    我正在尝试更改表并将其存储引擎更改为InnoDb 当我跑步时php artisan migrate它完成且没有错误 然而 当我检查 Sequel Pro 中的存储引擎时 没有任何变化 public function up Schema ta
  • 由于未定义符号,PECL solr 未加载:curl_easy_getinfo

    我正在尝试加载 PECL solr 扩展 我尝试使用 pecl install solr 并下载并使用 phpize configure make 来安装它 在这两种情况下 扩展安装时都没有错误 但在 apache 重新启动后 或在命令行上
  • Solr/Solrj 分页

    我正在创建的 Web 应用程序中使用 solr 和 solrj 来实现索引和搜索功能 我的请求处理程序在 solrconfig xml 中配置如下
  • 使用 ConcurrentUpdateSolrServer 需要哪些 jar?

    目前使用 solrServer new CommonsHttpSolrServer serverUrl 和这些罐子 apache solr core 3 6 0 apache solr solrj 3 6 0 commons codec 1
  • Solr 不搜索整数?

    我目前正在使用 Solr 为电子商务网站开发搜索引擎 所以我在 schema xml 中得到这两个字段
  • SOLR - Boost 函数 (bf) 以增加日期最接近 NOW 的文档的分数

    我有一个 solr 实例 其中包含具有 startTime 字段的文档 范围从上个月到一年后 我想添加一个提升查询 函数来提升 startTime 字段接近当前时间的文档的分数 到目前为止 我已经看到很多使用 rord 为较新的文档添加增强
  • 枚举类型的 JAXB 元素

    所以我知道如何创建枚举类型 但是当我为其设置元素类型时 元素字段将只是字符串类型 而不是枚举类型 如何在我的模式中创建枚举并让 JAXB 将其生成为 java 枚举类型 这就是我创建枚举类型和元素的方式
  • Solr协会

    最近几天我们正在考虑使用 Solr 作为我们选择的搜索引擎 我们需要的大多数功能都是开箱即用的或者可以轻松配置 然而 我们绝对需要的一项功能似乎在 Solr 中被很好地隐藏 或缺失 我将尝试用一个例子来解释 我们有很多实际上是企业的文件
  • 用于读取数据库模式的外部库或迷你语言?

    我正在考虑为我的妻子编写一个简单的数据库应用程序 但我对良好的编程实践很感兴趣 并且希望有一个人类可读的源来存储数据库模式 只是 我不知道有什么工具可以完成这项工作 而且我不敢相信它们不存在 可能我只是不知道该问谷歌什么 但我没有找到它们
  • 在 Solr 更新中指定多值术语频率?

    我有一个包含多值字段的 Solr 模式 我正在 Solr 外部解析文档并使用更新索引http wiki apache org solr UpdateJSON http wiki apache org solr UpdateJSON 也可以看
  • Data-config.xml 和 mysql - 我只能加载“id”列

    我在 Windows Server 2012 上安装了 Solr 5 0 0 我想将表中的所有数据加载到 solr 引擎中 我的 data config xml 如下所示
  • 如何使用核心服务在 SDL Tridion 中设置组件内容而不加载 XML?

    如何在不加载的情况下将内容设置为组件XML http en wikipedia org wiki XML在 SDL Tridion 中使用核心服务 如果您希望通过核心服务创建常规组件 则可以使用以下方法来避免自己编写 XML这个辅助类 ht
  • 在 Ecom 应用程序中实施 SOLR 的最佳实践是什么?

    我是 SOLR 的新用户 我正在开发一个具有 SQL 数据库的电子商务 Web 应用程序 我想在应用程序中为我的 类别页面 实现 SOLR 我们将在其中显示该类别的产品以及特定信息 例如可用库存 价格和更多详细信息 此外 我们希望根据库存情
  • 用于验证一个参数的多种类型和值的 json 架构

    请在这件事上给予我帮助 我尝试编写一个 json 模式来验证以下对象 json 对象 param value 可能的值 all 任意整数的数组 所以它是一个简单的 json 对象 其中包含一个变量 可以是字符串 all 也可以是任何整数数组
  • 当 docvalues=true 时,小写过滤器工厂不起作用

    我正在尝试使用 Solr 实现不区分大小写的排序并面临这个问题 https stackoverflow com questions 31745713 solr case insensitive sort not working Copied
  • Solr 阿拉伯语

    我正在使用 Solr 来索引 3 种语言 阿拉伯语 法语和英语 的文档 我使用了这个 fieldType
  • Mongodb - 为现有集合添加架构

    我的 MongoDB 中有一个包含 1300 万条记录的集合 不幸的是 当我创建这个集合时 没有为其创建模式 我想知道除了备份整个数据库 创建架构并上传所有数据之外 是否有任何方法可以添加 JSON 架构 您可以使用以下方法将 JSON 架
  • 如何过滤 Solr 中多值字段返回的值

    我有一个文档 其中包含一个名为 uuid 的字段 该字段是一个列表 多值 每个文档最多可以有 100k 个值 例如 我想搜索与以 5ff6115e 开头的 uuid 匹配的文档 我已经可以通过使用成功做到这一点q uuids 5ff6115

随机推荐

  • C# 中的“静态方法”是什么?

    将 static 关键字添加到方法中意味着什么 public static void doSomething Well do something 你可以添加static类的关键字 那意味着什么 A static函数 与常规的 instanc
  • GridView:如何制作固定标题行

    需要固定垂直滚动条的标题行 因为我的 GridView 非常大 制作 2 个面板是我最好的尝试 但也行不通 added
  • 如何将匹配器添加到 HttpSecurity spring web secure

    我尝试实现spring security 但是我有很多角色和权限 然后我想将角色动态添加到彼此的资源中 喜欢它 Override protected void configure HttpSecurity http throws Excep
  • 如何在insert sql语句中带参数传递列名

    如何在insert sql语句中带参数传递列名 例如 name name insert into employees id name values 1 a 这可能吗 不 您不可能需要在应用程序中或通过在 SQL Server 本身中使用动态
  • 利用浏览器缓存

    我有一个网站 当我使用 Google 插件检查页面速度时 我收到 利用浏览器缓存 以下资源缺少缓存过期时间 我可以在哪里更改此设置 Edit htaccess并附加
  • 将相对路径导入映射到 Typescript 中正确的“@types”

    在运行时 对于浏览器 我需要 import as d3 from lib d3 js 正确获取d3 我验证了这确实有效 但是包含上面的文件 调用它main js 是从打字稿文件生成的main ts目前从上面的同一行开始 打字稿编译器抱怨它找
  • Matlab中二阶常微分方程的求解系统

    介绍 我正在使用 Matlab 通过使用 ODE45 数值求解二阶常微分方程系统来模拟一些动态系统 我从 Mathworks 找到了一个关于如何执行此操作的精彩教程 最后的教程链接 在本教程中 方程组的 x 和 y 是显式的 如下所示 x
  • 无法在谷歌地图中保存多边形

    我有一个谷歌地图多边形对象 var poly new google maps Polygon paths new google maps LatLng 25 774252 80 190262 new google maps LatLng 1
  • ASP.NET 用户控件:无法使用 Eval("...") 初始化用户控件属性

    我设计了一个用户控件 它包含一个公共属性 CurrentValue 当我尝试使用 Eval 表达式初始化属性时 会分配一个空值 在下面的代码中 标签赋值 OK RatingNull 用户控件赋值为 null
  • 我可以更改 WinRT 中主磁贴的背景颜色吗?

    是否可以更改 WinRT 应用程序主图块的背景颜色 我想根据应用程序状态更改它 我使用此代码来更改图块的文本 XmlDocument contentSmall TileUpdateManager GetTemplateContent Til
  • eloquent javascript 关联表 解释

    我正在迈出编程的第一步 但我被雄辩的这个问题所困扰 特别是灰鼠问题 事情是这样的 function hasEvent event entry return entry events indexOf event 1 function tabl
  • 有什么方法可以使用 CoffeeScript 不返回某些内容吗?

    看起来 CoffeeScript 会自动返回范围中的最后一项 我可以避免这个功能吗 您必须显式返回任何内容 或者在函数底部留下一个计算结果为未定义的表达式 fun gt doSomething return Or fun gt doSome
  • Excel VBA运行时错误1004;我在代码中没有选择

    我正在尝试将一些输入复制到模型中 并将答案复制回第一张表 下面是代码 data sheet 是具有许多输入的表 Final Model 给出输出 非常简单 我正在尝试从中复制数据 将 data sheet 更改为 最终模型 然后将答案复制回
  • 节点中无浏览器 jquery 不断出现错误

    我正在尝试运行节点脚本和 html 页面 但我不断收到错误 我试图运行的脚本是 node script js page html script js 文件具有以下内容 var argv require optimist argv requi
  • 根据匹配的键:值对组合字典列表中的字典

    我想在具有匹配键 值对的字典列表中组合 合并多个字典 但是 我不希望这些对中的 值 本身成为每个新形成的字典中的列表 每个字典都有相同的一组键 但除了我想要组合的键 值对之外 大多数键 值对都是唯一的 我知道我可以根据匹配键组合字典 如下例
  • MS Access 多语言仅支持表单

    有没有办法将另一种语言应用于 Access 表单 我在创建表单时遇到问题 因为数据库值以英语存储 我必须从同一个表以不同语言生成两个相同的表单 一切都很顺利 直到我到达 性别 这样的查找字段 我的表可选值为 男性 和 女性 适用于英语形式
  • 移动设备上的 Google Analytics 垃圾邮件 - 应用程序未发布

    多个 Google Analytics 帐户似乎爆发了垃圾邮件 许多发布的事件类似于以下事件 事件类别 要使用此功能 请访问 EVENT TRACKING COM 现在对于网络 我可以添加一个过滤器来按主机名进行阻止 不完美 但可行 但移动
  • 将 pandas 系列从字符串转换为唯一的 int id [重复]

    这个问题在这里已经有答案了 我有一个系列中的分类变量 我想为每个唯一值分配整数 id 并使用 id 创建一个新系列 从而有效地将字符串变量转换为整数变量 最紧凑 最有效的方法是什么 你可以使用pandas factorize In 32 s
  • 打印堆栈跟踪

    我有一个非常短的测试文件 let print backtrace try raise Not found with Not found gt Printexc print backtrace stdout let f print backt
  • Solrj 查询 - 首先获取最相关的记录

    我有一些文件Solr 4 0 我希望首先显示最相关的记录 然后显示不太相关的记录 例如 我有 3 个文档 标题如下 收入分配政策 收入分配和经济政策 发展中国家的收入分配政策 现在当我查询类似的东西时q title Income Distr