我使用的是DSE 4.7.3,集群设置了3个solr节点和3个cassandra节点。
创建表格如下:
CREATE TABLE IF NOT EXISTS somejob.jobs (
job_id uuid,
files list<text>,
PRIMARY KEY (job_id)
);
schema.xml如下:
<schema name="jobs" version="1.5">
<types>
<fieldType name="text" class="solr.TextField">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="uuid" class="solr.UUIDField"/>
</types>
<fields>
<field name="job_id" type="uuid" indexed="true" stored="true"/>
<field name="files" type="text" indexed="false" multiValued="true" stored="true"/>
</fields>
<defaultSearchField>job_id</defaultSearchField>
<uniqueKey>job_id</uniqueKey>
</schema>
当我在cqlsh中尝试时:
SELECT files from somejob.jobs where job_id = f7eccbdf-d20f-426a-559b-713b308ad3f5;
正确返回记录。
然而,当我尝试:
SELECT files from somejob.jobs where solr_query='job_id:f7eccbdf-d20f-426a-559b-713b308ad3f5';
files字段是一个空数组,其他字段按预期正常。
最棘手的部分是,当我尝试使用DSE solr管理控制台查询相同的内容时,“文件”会正确返回。
有人可以帮我弄清楚那里发生了什么吗?