我已经使用solr 6.5创建了新的Rest API。请看以下步骤 1.自定义搜索处理器与查询参数Solr Rest API问题 - Java
<requestHandler name="/select" class="com.test.solr.TestSearchHandler" default="true">
<lst name="defaults">
<str name="wt">json</str>
<str name="indent">true</str>
<str name="fl">test1,test2</str>
<str name="df">acSearch</str>
<str name="sort">score desc</str>
</lst>
<arr name="components">
<str>query</str>
</arr>
自定义类有以下impmenetaion
private ModifiableSolrParams createNewSolrParams(SolrQueryRequest request) {
SolrParams oldParams = request.getParams();
ModifiableSolrParams newParams = new ModifiableSolrParams(oldParams);
setUpQueryExpression(newParams, oldParams);
return newParams;
}
private void setUpQueryExpression(ModifiableSolrParams newParams, SolrParams oldParams) {
String query = oldParams.get("query");
newParams.remove("query");
newParams.set(CommonParams.Q, query);
}
它下面的网址我得到响应
http://localhost:8330/autocomplete-service/core_autocomplete/select?query=test1:Airport工作*
但不适合以下网址
http://localhost:8330/nghp-autocomplete-service/nghp_autocomplete/select?query=Airport *
工作如何避免在查询
键值对工作查询=测试1:机场* 所需查询=机场*
搜索正在发生的词不适用于短语。 示例机场正在搜索印度机场正在运行。
请让我知道如何解决。
您还应该发布您的自定义搜索处理程序'TestSearchHandler'的来源 – freedev
我也建议改善您的问题,因为不清楚您的目标是什么 – freedev
机场数据的外观如何?您是否尝试过像Airpor *这样的查询? –