Ciao、Spring Solr Data で動作する次の solr クエリを取得できません。
q=名前: rsa &sfield=座標&pt=-8.506854,115.262478&sort=geodist()%20asc
クエリは、solr 管理コンソール内に配置すると機能しますが、Spring solr データでは機能しません。ドキュメント内でジオディストの並べ替えに関する例が見つからなかったため、次の関数を使用して CustomRepository を作成しました。
public Page<StructureDocument> findStructuresByNameAndCoordinates(String value, Point point, Pageable page) {
StringBuilder queryBuilder = new StringBuilder();
queryBuilder.append("name:*").append(value).append("*");
queryBuilder.append("&sfield=coordinates");
queryBuilder.append("&pt=").append(point.getX()).append(",").append(point.getY());
queryBuilder.append("&sort=geodist() asc");
Query query = new SimpleQuery(new SimpleStringCriteria(queryBuilder.toString())).setPageRequest(page);
しかし、構文エラーのために機能しません (Solrj はこの chars () を好まないようです)。これがエラーです:
; nested exception is org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://localhost:8983/solr: org.apache.solr.search.SyntaxError: Cannot parse 'name:*francesco*&sfield=coordinates&pt=-8.506854,115.262478&sort=geodist() asc': Encountered " ")" ") "" at line 1, column 71.
spring solrデータを使用してgeodist関数でソートするにはどうすればよいですか??
どうもありがとうございました。