我已經使用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 *這樣的查詢? –