开发者

Inconsistent search results using spatial.net and lucene.net 2.9

Hello I am currently working on implementing a spatial search feature for a website using c#, lucene.net and spatial.net

The issue I am running into is the following:

I index 5 document with the following locations:

Document 1: Los Angeles, CA

Document 2: Pasadena, CA

Document 3: Santa Monica, CA

Document 4: Sacramento, CA

Document 5: Denver, CO

Then I proceed to r开发者_JAVA技巧un several searches on the resulting index (for my NUnit test I am using RAMDirectory) using the Los Angeles point as origin, as well as having it be a part of the data.

Radius Results Pass

10 Miles 1 Yes

20 Miles 2 No

25 Miles 2 No

50 Miles 3 Yes

Note that I expeted 3 results beginnig with the 20 mile search. This also happens with some other radius values, for example 5000 miles return only 1 result when at 3500 miles I was getting all 5 documents.

Is anyone aware of a bug in the spatial.net code that could be causing this? The .net version of lucene is at 2.9.2 and perhaps this has been addressed in a later version. Any help would be appreciated, thanks


I finally got this working. There is a bug on the spatial.net contrib module in the current version of lucene.net
This bug makes the search fail in some edge cases. The issue is caused by the CartesianShapeFilter class. What I did was grab the source from the Java version of lucene and port only the spatial contrib code.
After every class was ported I would compile and run my test again. Finally I narrowed it down to this class.
I hope this helps someone, if you would like the code for this I will be sending a patch to the folks working on lucene.net so the can make it available.


The changes you made, do they actually incorporate the bugfix listed on https://issues.apache.org/jira/browse/LUCENE-1930? I came across those bugs in Spatial.NET during distance filtering coords within Germany. I had to use extremely high distance miles to get some results. After the fixes described in the patch it was working correct even with very small boxes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜