没有空间信息bah

时间:2012-09-28 00:23:29

标签: solr

您好我是使用Solr 3.6.1的新手。我正在尝试使用solr进行地理空间搜索,其索引是使用DIH从MySQL导入的。我可以看到有lat& amp;从*:*查询返回的lng数据(但不是latlng)。

问题:当我尝试进行地理空间搜索时,我没有收到任何结果。当我将搜索距离d增加到非常大的值(如100000)时,我才会得到结果,并且返回的结果不包含lat / lng数据。

我是否遗漏了架构或数据配置中阻止地理空间数据被搜索的内容?

我还想按照上升距离排序。我尝试将&sort=geodist() asc附加到查询网址的末尾,但出现错误unknown query type 'asc'。谢谢你的帮助!! :)

地理空间查询:

http://127.0.0.1:8080/solr/select?wt=json&q=*:*&start=0&rows=10&fl=*,score&fq={!geofilt pt=41.570015,-71.09061 sfield=latlng d=5}

地理空间查询结果:

{"responseHeader":
    {"status":0,
    "QTime":0,
    "params":{"fl":"*,score","start":"0",
    "q":"*:*",
    "wt":"json",
    "fq":"{!geofilt pt=41.570015,-71.09061 sfield=latlng d=5}","rows":"10"}},
    "response":{
        "numFound":0,
        "start":0,
        "maxScore":0.0,
        "docs":[]
    }
}

*.*的一些结果:

<response>
    <lst name="responseHeader">
    <int name="status">0</int>
    <int name="QTime">517</int>
    <lst name="params">
    <str name="explainOther"/>
    <str name="fl">*,score</str>
    <str name="indent">on</str>
    <str name="start">70000</str>
    <str name="q">*:*</str>
    <str name="hl.fl"/>
    <str name="wt"/>
    <str name="fq"/>
    <str name="rows">100</str>
    <str name="version">2.2</str>
</lst>
</lst>
    <result name="response" numFound="76270" start="70000" maxScore="1.0">
    <doc>
        <float name="score">1.0</float>
        <str name="id">2584854</str>
        <float name="lat">41.570015</float>
        <float name="lng">-71.09061</float>
    </doc>

数据导入

query="select id, lat, lng,
    concat_ws(',', lat, lng) as latlng
    from listings"

模式

<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>

<field name="latlng" type="location" indexed="true" stored="true" />
<field name="lat" type="float" indexed="true" stored="true" />
<field name="lng" type="float" indexed="true" stored="true" />

<dynamicField name="*_coordinate" type="double" indexed="true" stored="false" multiValued="false" />

0 个答案:

没有答案