Ciao、 Spring Solr Dataで動作する以下のsolrクエリを取得できません。Spring Solrデータのgeodist()関数でソートするには?
Q =名前:RSA & sfield =座標& PT = -8.506854,115.262478 &ソート= geodist()%の20asc
クエリは、私はSolrの管理コンソール内に置く場合は動作しますが、それスプリングソルデータでは機能しません。私ので、私は、以下の機能を備えたCustomRepository作成geodistは、ドキュメント内の並べ替えについての例を見つけることができませんでした:構文エラーのため
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はこの文字を好きではないようです) 。これはエラーです:。
; 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.
どのようにソート春のSolrのデータ??
はどうもありがとうございましたとgeodist機能によってでき
私は** ClientUtils.escapeQueryChars()**、構文エラーが消えるも使用しようとしたが、Solrには奇妙な結果を返します。.. – dado