【发布时间】:2017-11-02 09:56:58
【问题描述】:
您好几天来,我一直在努力从我的空间搜索查询中获得任何结果。
谁能告诉我我做错了什么
我使用 Datastax DSE 5.0.0
首先我创建我的 cassandra 表
CREATE TABLE mytable.test (
id varchar PRIMARY KEY,
latlon varchar
city varchar,
);
它工作正常。 然后我插入一些数据:
insert into mytable.test (id, latlon, city) values ('1', '48.87,2.29','Paris 17' );
insert into mytable.test (id, latlon, city) values ('2', '48.86,2.29','Paris 16' );
insert into mytable.test (id, latlon, city) values ('3', '48.84,2.29','Paris 15' );
insert into mytable.test (id, latlon, city) values ('4', '48.86,2.33','Paris 1' );
然后我将架构 xml(使用 Notepad++)更改为:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<schema name="test" version="1.1">
<types>
<fieldType class="org.apache.solr.schema.StrField" name="StrField"/>
<fieldType class="org.apache.solr.schema.TextField" name="TextField">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="coord" class="solr.LatLonType" subFieldSuffix="_coordinate" />
<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0" />
</types>
<fields>
<field indexed="true" multiValued="false" name="id" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="city" stored="true" type="TextField"/>
<field indexed="true" multiValued="false" name="latlon" stored="true" type="coord"/>
<dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false" />
</fields>
<defaultSearchField>city</defaultSearchField>
<uniqueKey>id</uniqueKey>
</schema>
我使用以下命令将此模式发送到 Solr:
curl http://myhost:8983/solr/resource/mytable.test/schema.xml --data-binary @schema.xml -H 'Content-type:text/xml; charset=utf-8'
然后我重新加载 Schema.xml
http://myhost:8983/solr/admin/cores?action=RELOAD&core=mytable.test
我想现在一切都应该准备好了。但我不可能得到任何回报。
select * from mytable.test where solr_query = '{!geofilt sfield=latlon pt=48.87,2.29 d=5}';
答案是“没有结果”。
知道我能做什么吗?谢谢!
【问题讨论】:
标签: solr cassandra schema datastax