2011-07-11 32 views
0

我有一個連接到Solr 3.3搜索的CakePHP 1.3應用程序。Solr地理空間和CakePHP:使用geodist進行提升()

除了lat/lon外,還有兩個具有相同屬性的文檔。接近緯度/經度的文件被輸入第二個(更高的ID),但是來自geodist()的bost我期望它首先出現。實際行爲是靠近lat/lon的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) 

這第二DOC(使用id = 28)具有匹配查詢的「PT」值經/緯度。

我在做什麼錯?

回答

0

我加了defType=dismax,現在結果按預期排序。