gpt4 book ai didi

solr - 如何在 solrconfig.xml 中设置 SOLR 参数替换

转载 作者:行者123 更新时间:2023-12-01 05:03:34 27 4
gpt4 key购买 nike

这是我在 stackoverflow 上的第一个问题,所以如果我违反任何规则,请提前道歉,但我确实研究了它们,并确保这不是一个重复的问题。

所以,根据这个http://yonik.com/solr-query-parameter-substitution/可以在 solrconfig 中以一种方式设置搜索处理程序

request handler defaults, appends, and invariants configured for the handler may reference request parameters



我有以下查询,它与 curl 配合得很好
curl http://localhost:7997/solr/vb_popbio/select -d 'q=*:*&fq=bundle:pop_sample_phenotype AND phenotype_type_s:"insecticide%20resistance"
&rows=0&wt=json&json.nl=map&indent=true
&fq=phenotype_value_type_s:${PFIELD}&
&PGAP=5&PSTART=0&PEND=101&PFIELD="mortality rate"&
json.facet = {
pmean: "avg(phenotype_value_f)",
pperc: "percentile(phenotype_value_f,5,25,50,75,95)",
pmin: "min(phenotype_value_f)",
pmax: "max(phenotype_value_f)",
denplot : {
type : range,
field : phenotype_value_f,
gap : ${PGAP:0.1},
start: ${PSTART:0},
end: ${PEND:1}
}
}'

我已将此查询转换为 solrconfig.xml 中的搜索处理程序配置,因此用户只需提供 PFILD、PGAP、PSTART 和 PEND 参数。处理程序的配置如下所示
     <!--A request handler to serve data for violin plots (limited to IR assays)-->
<requestHandler name="/irViolin" class="solr.SearchHandler">
<!-- default values for query parameters can be specified, these
will be overridden by parameters in the request
-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">0</int>
<str name="df">text</str>
<str name="wt">json</str>
<str name="json.nl">map</str>
<str name="json.facet">{
pmean: "avg(phenotype_value_f)",
pperc: "percentile(phenotype_value_f,5,25,50,75,95)",
pmin: "min(phenotype_value_f)",
pmax: "max(phenotype_value_f)",
denplot : {
type : range,
field : phenotype_value_f,
gap: ${PGAP:0.1},
start: ${PSTART:0},
end: ${PEND:1}
}
}
</str>
</lst>
<lst name="appends">
<str name="fq">bundle:pop_sample_phenotype</str>
<str name="fq">phenotype_type_s:"insecticide resistance"</str>
<str name="fq">has_geodata:true</str>
<str name="fq">phenotype_value_type_s:${PFIELD:"mortality rate"}</str>

</lst>
<lst name="invariants">
</lst>

</requestHandler>

请注意,我为所有参数提供了默认值,否则 SOLR 将无法加载配置。问题是使用这样的查询
curl http://localhost:7997/solr/vb_popbio/irViolin?q=*:*&
&PGAP=5&PSTART=0&PEND=101&PFIELD="mortality rate"

不管用。 SOLR 会很好地读取请求参数(我可以在调试输出中看到它们)但会忽略它们并使用配置中的默认值。

SOLR 版本是 5.2.1。

我尝试将配置参数移动到默认值、附加或不变量,但没有任何效果。在过去 2 天对此进行研究后,我几乎准备放弃,而是即时构建整个查询。

任何帮助将不胜感激。

非常感谢

最佳答案

我认为(帖子)太旧了,但是使用搜索引擎我到达了这个页面。一个简单的解决方案是逃避美元符号。之后,你应该达到你想要的结果。

示例:
<str name="json.facet">{
pmean: "avg(phenotype_value_f)",
pperc: "percentile(phenotype_value_f,5,25,50,75,95)",
pmin: "min(phenotype_value_f)",
pmax: "max(phenotype_value_f)",
denplot : {
type : range,
field : phenotype_value_f,
gap: $${PGAP:0.1},
start: $${PSTART:0},
end: $${PEND:1}
}
}
</str>

关于solr - 如何在 solrconfig.xml 中设置 SOLR 参数替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31051286/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com