[英]Solr spatial query returning location outside the search range
我正在使用Solr 5.3.0並評估地理空間搜索。 我按照每個在線參考的說明進行操作,並看到超出半徑范圍的結果。 您在架構或數據中看到任何問題嗎?
http://localhost:8983/solr/demo2/select?q=*.*&wt=json&indent=true&spatial=true&pt=4.89%2C-4.05&sfield=geoloc&d=1
<schema name="weather lookup index" version="1.3">
<types>
<fieldType name="integer" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
</types>
<fields>
<field name="name" type="text" indexed="true" stored="true" multiValued="false" required="true"/>
<field name="geoloc" type="location" indexed="true" multiValued="false" stored="true"/>
<dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false"/>
</fields>
<defaultSearchField>name</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>
</schema>
結果:
{
"responseHeader": {
"status": 0,
"QTime": 2,
"params": {
"q": ".",
"pt": "4.89,-4.05",
"d": "1",
"indent": "true",
"spatial": "true",
"sfield": "geoloc",
"wt": "json",
"": "1443653671468"
}
},
"response": {
"numFound": 1,
"start": 0,
"docs": [
{
"name": [ "test" ],
"geoloc": [ "40.89,-86.05" ],
"id": "9711c69e-9ac3-4302-a41d-719f57fde24c",
"_version": 1513779446777118700
}
]
}
}
相信您想按此處所述在搜索中添加過濾器。 現在,您可以定義參數,但不過濾任何內容。
&fq={!geofilt pt=4.89,-4.05 sfield=geoloc d=1}
看來Solr一直沒有索引lat。 Solr在C:\\ Program Files \\ solr \\ server \\ solr \\\\ conf中創建一個覆蓋了我的schema.xml的文件Managed_schema。 我擺脫了Managed_schema文件,它開始使用schema.xml(我必須向schema.xml中添加一些缺少的類型才能使其工作)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.