php - REST服务中Solr PHP客户端配置管理的有效方法
问题描述
我在 Solr 6.6.6 中有一些可搜索的数据。我的 REST 客户端是 PHP。为了从 Solr 搜索,我必须从 PHP 执行以下(示例)查询
http://10.11.112.25:8983/solr/collection1/select?bf=recip(ms(NOW,date),3.16e-11,1,1)%5E2.2&boost=product(title1_depth,product(sum(arank,div(div(sum(cld2_score,cle_score),2),100),recip(pf_score,1,1,1)),sum(dup_stat,1)))&bq=group:ur_top_web%5E1.37&defType=edismax&fq=group:web%20OR%20group:ur_news*%20OR%20group:ur_blog%20OR%20group:ur_top_web*%20OR%20group:urpoetr*%20-pf_score:[0.7%20TO%201]%20OR%20NOT%20dup_stat1:[*%20TO%20*]&indent=on&mm=3&pf2=title%20content&pf3=title%20content&pf=title%20content&ps2=1&ps3=1&ps=10&q=%D9%BE%D8%A7%DA%A9%D8%B3%D8%AA%D8%A7%D9%86+%DA%A9%D8%A7+%D9%85%D8%B3%D8%AA%D9%82%D8%A8%D9%84&qf=title%20content&tie=0.4&wt=json&stopwords=true&lowercaseOperators=true&start=0&rows=10&hl=true&hl.snippets=5&hl.fl=title+content_t+content+id+url+summary&hl.method=original&hl.fragsize=100&f.summary.hl.fragsize=0&f.title.hl.fragsize=0&hl.requireFieldMatch=false&hl.alternateField=title+content_t+content+id+url+summary&hl.simple.post=</b>&hl.simple.pre=<b>&fl=title,content,url
有一种方法可以在 Solr 配置中配置所有这些(如 XML 等),我只需从 PHP 调用一个小型查询。它还有助于同时控制多个客户端的配置参数。
解决方案
您可以在 Solr 配置中创建自定义搜索处理程序。这允许您指定将附加到客户端查询的静态参数。
<requestHandler name="/custom" class="solr.SearchHandler">
<lst name="appends">
<str name="bf">recip(ms(NOW,date),3.16e-11,1,1)^2.2</str>
...
</lst>
</requestHandler>
然后,您查询/custom
而不是/select
.
推荐阅读
- wpf - WPF DataGrid - 使用箭头键时跳过列
- c# - 用等效的布尔替换字符串中的单词
- c++ - C ++从字符串向量中删除子字符串
- .net - NuGet 锁定文件无法使用 --locked-mode 还原
- javascript - 从文件夹索引中的多个文件重新导出流命名接口导出
- php - 尝试用新数组替换字符串数组
- php - 尽管在打印数组时找到了索引,但定义数组索引时发生错误
- android - 为发布而编译应用程序时出现 https 请求的问题以及如何改进代码的提示
- python - 有没有办法关联两个网格地图来比较它们的相似性?
- sql-server - SQL Server ID 新订单和处理中订单的计数