solr实现满足指定距离范围条件的搜索
来源:互联网 发布:电脑视频剪切软件 编辑:程序博客网 时间:2024/06/05 18:15
配置schema.xml
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <schema name="aifang-loupan" version="1.1">
3 <types>
4 <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
5 <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
6 <fieldType name="integer" class="solr.IntField" omitNorms="true"/>
7
8 <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
9 <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
10 <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
11 <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
12
13 <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
14 <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
15 <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
16 <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
17
18 <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
19 <fieldType name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/>
20 <fieldType name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/>
21 <fieldType name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/>
22
23 <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/>
24 <fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/>
25 <fieldtype name="ignored" stored="false" indexed="false" class="solr.StrField"/>
26 <fieldtype name="location" class="solr.LatLonType" subFieldSuffix="_d"/>
27 <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
28 <analyzer type="index">
29 <tokenizer class="solr.StandardTokenizerFactory"/>
30 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
31 <filter class="solr.LowerCaseFilterFactory"/>
32 </analyzer>
33 <analyzer type="query">
34 <tokenizer class="solr.StandardTokenizerFactory"/>
35 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
36 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
37 <filter class="solr.LowerCaseFilterFactory"/>
38 </analyzer>
39 </fieldType>
40
41 </types>
42
43 <fields>
44 <field name="loupan_id" type="integer" indexed="true" stored="true" required="true"/>
45 <field name="city_id" type="integer" indexed="true" stored="false"/>
46 <field name="loupan_name" type="text" indexed="true" stored="false"/>
47 <field name="loupan_pinyin" type="string" indexed="true" stored="false"/>
48 <field name="alias_name" type="text" indexed="true" stored="false"/>
49 <field name="former_name" type="text" indexed="true" stored="false"/>
50 <field name="region_title" type="text" indexed="true" stored="false" />
51 <field name="region_id" type="int" indexed="true" stored="false"/>
52 <field name="sub_region_title" type="text" indexed="true" stored="false"/>
53 <field name="sub_region_id" type="int" indexed="true" stored="false"/>
54 <field name="regions_string" type="string" indexed="true" stored="false" multiValued="true"/>
55 <field name="address" type="text" indexed="true" stored="false"/>
56 <field name="proxy_address" type="text" indexed="true" stored="false"/>
57 <field name="chanquan" type="text" indexed="true" stored="false"/>
58 <field name="build_type" type="text" indexed="true" stored="false" multiValued="true"/>
59 <field name="property_type" type="text" indexed="true" stored="false" multiValued="true"/>
60 <field name="fitment_type" type="text" indexed="true" stored="false" multiValued="true"/>
61 <field name="search_kw" type="text" indexed="true" multiValued="true" stored="false" />
62 <field name="investor" type="text" indexed="true" stored="false"/>
63 <field name="company" type="text" indexed="true" stored="false"/>
64 <field name="loop_line" type="text" indexed="true" stored="false" />
65 <field name="status_sale" type="integer" indexed="true" stored="false"/>
66 <field name="status_disp" type="integer" indexed="true" stored="false"/>
67 <field name="search_sale" type="integer" indexed="true" stored="false" multiValued="true"/>
68 <field name="jiaofang_date" type="sint" indexed="true" stored="false"/>
69 <field name="kaipan_date" type="sint" indexed="true" stored="false"/>
70 <field name="price" type="sint" index="true" stored="false"/>
71 <field name="baidu_lat" type="sfloat" indexed="true" stored="false"/>
72 <field name="baidu_lng" type="sfloat" indexed="true" stored="false"/>
73 <field name="lat" type="sfloat" indexed="true" stored="false"/>
74 <field name="lng" type="sfloat" indexed="true" stored="false"/>
75 <field name="metro_subway_id" type="integer" indexed="true" stored="false" multiValued="true" />
76 <field name="metro_station_id" type="integer" indexed="true" stored="false" multiValued="true" />
77 <field name="metro_enabled" type="integer" indexed="true" stored="false"/>
78 <field name="metro_info" type="text" indexed="true" stored="false" multiValued="true" />
79 <field name="loop_line_id" type="integer" indexed="true" stored="false"/>
80 <field name="property_type_id" type="integer" indexed="true" stored="false" multiValued="true"/>
81 <field name="build_type_id" type="integer" indexed="true" stored="false" multiValued="true"/>
82 <field name="fitment_type_id" type="integer" indexed="true" stored="false" multiValued="true"/>
83 <field name="developer_id" type="integer" indexed="true" stored="false" multiValued="true"/>
84 <field name="developer_title" type="string" indexed="true" stored="false"/>
85 <field name="business_id" type="integer" indexed="true" stored="false"/>
86 <field name="business_title" type="string" indexed="true" stored="false"/>
87 <field name="loupan_extend_type" type="sint" indexed="true" stored="false" multiValued="true"/>
88 <field name="trip_fitment_style" type="text" indexed="true" stored="false" />
89 <field name="trip_feature_recommend" type="text" indexed="true" stored="false" multiValued="true" />
90 <field name="trip_spot" type="text" indexed="true" stored="false" multiValued="true" />
91 <field name="trip_transport" type="text" indexed="true" stored="false" multiValued="true" />
92 <field name="trip_scenic_region" type="text" indexed="true" stored="false" multiValued="true" />
93 <field name="trip_property_service" type="text" indexed="true" stored="false" multiValued="true" />
94 <field name="trip_scenic_spot" type="text" indexed="true" stored="false"/>
95 <field name="trip_created" type="sint" indexed="true" stored="false" />
96 <field name="is_trip" type="int" indexed="true" stored="false" />
97 <field name="level" type="sint" indexed="true" stored="false"/>
98 <field name="loupan_pv_day" type="sint" indexed="true" stored="false" />
99 <field name="operator_ids" type="integer" indexed="true" stored="false" multiValued="true"/>
100 <field name="operator_names" type="string" indexed="true" stored="false" multiValued="true"/>
101 <dynamicField name="*_grade" type="sint" indexed="true" stored="false" />
102 <field name="updated" type="sint" indexed="true" stored="false" />
103 <field name="news_id" type="int" indexed="true" stored="false" />
104 <field name="news_update" type="sint" indexed="true" stored="false" />
105 <field name="rank" type="sfloat" indexed="true" stored="false" />
106 <field name="sale_order" type="sint" indexed="true" stored="false" />
107 <field name="vip_order" type="string" indexed="true" stored="false" />
108 <field name="kaipan_order" type="sint" indexed="true" stored="false"/>
109 <field name="created" type="sint" indexed="true" stored="false" />
110 <field name="latlng" type="location" indexed="true" />
111 <dynamicField name="*_d" type="double" indexed="true" stored="true"/>
112 </fields>
113
114 <uniqueKey>loupan_id</uniqueKey>
115 <defaultSearchField>search_kw</defaultSearchField>
116 <solrQueryParser defaultOperator="AND"/>
117 </schema>
2 <schema name="aifang-loupan" version="1.1">
3 <types>
4 <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
5 <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
6 <fieldType name="integer" class="solr.IntField" omitNorms="true"/>
7
8 <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
9 <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
10 <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
11 <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
12
13 <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
14 <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
15 <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
16 <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
17
18 <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
19 <fieldType name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/>
20 <fieldType name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/>
21 <fieldType name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/>
22
23 <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/>
24 <fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/>
25 <fieldtype name="ignored" stored="false" indexed="false" class="solr.StrField"/>
26 <fieldtype name="location" class="solr.LatLonType" subFieldSuffix="_d"/>
27 <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
28 <analyzer type="index">
29 <tokenizer class="solr.StandardTokenizerFactory"/>
30 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
31 <filter class="solr.LowerCaseFilterFactory"/>
32 </analyzer>
33 <analyzer type="query">
34 <tokenizer class="solr.StandardTokenizerFactory"/>
35 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
36 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
37 <filter class="solr.LowerCaseFilterFactory"/>
38 </analyzer>
39 </fieldType>
40
41 </types>
42
43 <fields>
44 <field name="loupan_id" type="integer" indexed="true" stored="true" required="true"/>
45 <field name="city_id" type="integer" indexed="true" stored="false"/>
46 <field name="loupan_name" type="text" indexed="true" stored="false"/>
47 <field name="loupan_pinyin" type="string" indexed="true" stored="false"/>
48 <field name="alias_name" type="text" indexed="true" stored="false"/>
49 <field name="former_name" type="text" indexed="true" stored="false"/>
50 <field name="region_title" type="text" indexed="true" stored="false" />
51 <field name="region_id" type="int" indexed="true" stored="false"/>
52 <field name="sub_region_title" type="text" indexed="true" stored="false"/>
53 <field name="sub_region_id" type="int" indexed="true" stored="false"/>
54 <field name="regions_string" type="string" indexed="true" stored="false" multiValued="true"/>
55 <field name="address" type="text" indexed="true" stored="false"/>
56 <field name="proxy_address" type="text" indexed="true" stored="false"/>
57 <field name="chanquan" type="text" indexed="true" stored="false"/>
58 <field name="build_type" type="text" indexed="true" stored="false" multiValued="true"/>
59 <field name="property_type" type="text" indexed="true" stored="false" multiValued="true"/>
60 <field name="fitment_type" type="text" indexed="true" stored="false" multiValued="true"/>
61 <field name="search_kw" type="text" indexed="true" multiValued="true" stored="false" />
62 <field name="investor" type="text" indexed="true" stored="false"/>
63 <field name="company" type="text" indexed="true" stored="false"/>
64 <field name="loop_line" type="text" indexed="true" stored="false" />
65 <field name="status_sale" type="integer" indexed="true" stored="false"/>
66 <field name="status_disp" type="integer" indexed="true" stored="false"/>
67 <field name="search_sale" type="integer" indexed="true" stored="false" multiValued="true"/>
68 <field name="jiaofang_date" type="sint" indexed="true" stored="false"/>
69 <field name="kaipan_date" type="sint" indexed="true" stored="false"/>
70 <field name="price" type="sint" index="true" stored="false"/>
71 <field name="baidu_lat" type="sfloat" indexed="true" stored="false"/>
72 <field name="baidu_lng" type="sfloat" indexed="true" stored="false"/>
73 <field name="lat" type="sfloat" indexed="true" stored="false"/>
74 <field name="lng" type="sfloat" indexed="true" stored="false"/>
75 <field name="metro_subway_id" type="integer" indexed="true" stored="false" multiValued="true" />
76 <field name="metro_station_id" type="integer" indexed="true" stored="false" multiValued="true" />
77 <field name="metro_enabled" type="integer" indexed="true" stored="false"/>
78 <field name="metro_info" type="text" indexed="true" stored="false" multiValued="true" />
79 <field name="loop_line_id" type="integer" indexed="true" stored="false"/>
80 <field name="property_type_id" type="integer" indexed="true" stored="false" multiValued="true"/>
81 <field name="build_type_id" type="integer" indexed="true" stored="false" multiValued="true"/>
82 <field name="fitment_type_id" type="integer" indexed="true" stored="false" multiValued="true"/>
83 <field name="developer_id" type="integer" indexed="true" stored="false" multiValued="true"/>
84 <field name="developer_title" type="string" indexed="true" stored="false"/>
85 <field name="business_id" type="integer" indexed="true" stored="false"/>
86 <field name="business_title" type="string" indexed="true" stored="false"/>
87 <field name="loupan_extend_type" type="sint" indexed="true" stored="false" multiValued="true"/>
88 <field name="trip_fitment_style" type="text" indexed="true" stored="false" />
89 <field name="trip_feature_recommend" type="text" indexed="true" stored="false" multiValued="true" />
90 <field name="trip_spot" type="text" indexed="true" stored="false" multiValued="true" />
91 <field name="trip_transport" type="text" indexed="true" stored="false" multiValued="true" />
92 <field name="trip_scenic_region" type="text" indexed="true" stored="false" multiValued="true" />
93 <field name="trip_property_service" type="text" indexed="true" stored="false" multiValued="true" />
94 <field name="trip_scenic_spot" type="text" indexed="true" stored="false"/>
95 <field name="trip_created" type="sint" indexed="true" stored="false" />
96 <field name="is_trip" type="int" indexed="true" stored="false" />
97 <field name="level" type="sint" indexed="true" stored="false"/>
98 <field name="loupan_pv_day" type="sint" indexed="true" stored="false" />
99 <field name="operator_ids" type="integer" indexed="true" stored="false" multiValued="true"/>
100 <field name="operator_names" type="string" indexed="true" stored="false" multiValued="true"/>
101 <dynamicField name="*_grade" type="sint" indexed="true" stored="false" />
102 <field name="updated" type="sint" indexed="true" stored="false" />
103 <field name="news_id" type="int" indexed="true" stored="false" />
104 <field name="news_update" type="sint" indexed="true" stored="false" />
105 <field name="rank" type="sfloat" indexed="true" stored="false" />
106 <field name="sale_order" type="sint" indexed="true" stored="false" />
107 <field name="vip_order" type="string" indexed="true" stored="false" />
108 <field name="kaipan_order" type="sint" indexed="true" stored="false"/>
109 <field name="created" type="sint" indexed="true" stored="false" />
110 <field name="latlng" type="location" indexed="true" />
111 <dynamicField name="*_d" type="double" indexed="true" stored="true"/>
112 </fields>
113
114 <uniqueKey>loupan_id</uniqueKey>
115 <defaultSearchField>search_kw</defaultSearchField>
116 <solrQueryParser defaultOperator="AND"/>
117 </schema>
在提交数据时的格式为:(纬度,经度:以字符串的方式提交给solr)
<field name="store">45.17614,-93.87341</field> <!-- Buffalo store --><field name="store">40.7143,-74.006</field> <!-- NYC store --><field name="store">37.7752,-122.4232</field> <!-- San Francisco store -->
例如要查寻距离纬度经度(31.254982,121.47501)5km的所有满足条件的楼盘:
http://192.168.181.140:8487/solr/loupan/select/?q=city_id:11&fq={!geofilt pt=31.254982,121.47501 sfield=latlng d=5}
查找满足指定距离的结果集,并按照距离由近到远排序
http://192.168.181.140:8487/solr/loupan/select/?q=*:*&fq={!geofilt}&pt=31.2367,121.501&sfield=latlng&d=5&sort=geodist()+asc
0 0
- solr实现满足指定距离范围条件的搜索
- hibernate查询满足指定条件的记录
- java实现树的节点之间距离;向下递归,注意找到一个满足条件的节点要break
- 关于google地图api3的离线和在线开发(画带箭头的直线,指定范围,搜索,计算距离)
- [Java GUI] 筛选指定区间内满足条件的数字
- Python:在指定目录下查找满足条件的文件
- 满足条件的整数
- 满足条件的整数
- 满足条件的n
- 缓存满足的条件
- solr的多条件组合查询和solr的范围查询
- solr的多条件组合查询和solr的范围查询
- 搜索学习--Lucene中搜索的排序、范围区间搜索、分页搜索、多条件搜索
- 根据指定地点的经纬度算出指定的距离的经纬度范围
- 利用solr实现商品的搜索功能
- 【扩展】快速寻找满足条件(两个数的和为指定值)的两个数
- POJ2941:满足条件的整数
- 求满足条件的序列
- 杭电 acm 2010(水仙花数)
- 带哨兵的单链表的操作java版本
- MFC项目结构
- 浅谈算法和数据结构: 二 基本排序算法
- GCC编译关键词解析
- solr实现满足指定距离范围条件的搜索
- 浅谈算法和数据结构: 三 合并排序
- Java IO 之 FileInputStream & FileOutputStream源码分析
- listview的最外层套在ScrollView时,如果listview刚好显示一屏幕,会出现无法下拉刷新
- solr集群配置中遇到的问题及说明
- Solr v4.4地理感知
- Android NetworkOnMainThreadException异常处理
- 经纬度拾取坐标系统
- 用Win8.1在局域网搭建FTP服务器的简单实现