2011-07-11 36 views
0

私はSolr 3.3検索に接続するCakePHP 1.3アプリケーションを持っています。Solr geospatialとCakePHP:geodist()を使用したブースト

緯度/経度を除いて同じ属性を持つ2つの文書があります。より緯度/経度の近い文書は2番目(高いID)に入力されましたが、geodist()のボストが最初に表示されると思います。実際の行動は、より近い緯度/経度が2番目に現れるdocです。ここではPHP Solrのサービス手バック私のアプリへの配列です:

protected '_rawResponse' => string '{ 
    "responseHeader":{ 
     "status":0, 
     "QTime":0, 
     "params":{ 
      "start":"0", 
      "q":"beethoven eroica", 
      "sfield":"lat_lon", 
      "pt":"45.3306,-122.5290", 
      "bf":"recip(geodist(),1,1000,1000)", 
      "json.nl":"map", 
      "wt":"json", 
      "rows":"10", 
      "version":"1.4" 
     } 
    }, 
    "response":{ 
     "numFound":7, 
     "start":0, 
     "docs":[{ 
      "id":"2", 
      "title":"Symphony No 3, Eroica", 
      "composer":"Beethoven, Ludwig van", 
      "publisher":"Schott Musik International", 
      "location":"Seattle, WA", 
      "lat_lon":"47.6115,-122.3343" 
     },{ 
      "id":"28", 
      "title":"Symphony No 3, Eroica", 
      "composer":"Beethoven, Ludwig'... (length=1418) 

に、第2のドキュメント(ID = 28で)クエリで「PT」の値と一致して緯度/経度を持っています。

私は間違っていますか?

答えて

0

defType=dismaxを追加しました。結果は期待どおりに並べ替えられました。

関連する問題