有类似的问题,但他们没有回答/解决我的问题所以添加一个新问题。
我正在使用具有4个solr节点的Datastax 5节点集群。 我在cassandra中创建了一个具有单列和LZ4压缩的表,其中包含以下脚本 -
CREATE TABLE mykeyspace.mytable (
myfield text,
PRIMARY KEY (myfield)
);
然后我添加了solrconfig.xml和schema.xml并为我的表创建了一个核心.Below是来自schema.xml的快照
<types>
<fieldType name="someField" class="solr.TextField" positionIncrementGap="100">
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
</analyzer>
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" preserveOriginal="0" splitOnCaseChange="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
</analyzer>
</fieldType>
</types>
<fields>
<field name="myfield" type="someField" indexed="true" stored="true" multiValued="false" />
</fields>
<uniqueKey>myfield</uniqueKey>
<defaultSearchField>myfield</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>
我使用cassandra cqlsh将几条记录插入到我的表中。
INSERT INTO mykeyspace.mytable (myfield) VALUES ('testStr1');
INSERT INTO mykeyspace.mytable (myfield) VALUES ('testStr2');
如果我检查numdocs和maxdocs,从Solr UI我看到所有4个节点上的插入立即反映。
在datastax日志中,我也看到了以下
DEBUG [Index WorkPool work thread-3] 2015-03-19 04:29:41,646 AbstractSolrSecondaryIndex.java (line 612) Updating key testStr1 on index mykeyspace.mytable
DEBUG [Index WorkPool work thread-0] 2015-03-19 04:29:41,744 AbstractSolrSecondaryIndex.java (line 612) Updating key testStr2 on index mykeyspace.mytable
现在当我通过Solr查询:时,我得到了numdocs&gt; 0,但docslist为空。在一个单独的环境中,相同的steps / config就像魅力一样,我能够完美地索引和查询数据。
我在两种环境下都获得如下所示的INFO日志 -
Trying to load resource admin-extra.html for core mykeyspace.mytable by querying from local node with CL QUORUM
No resource admin-extra.html found for core mykeyspace.mytable by querying from local node.
Trying to load resource admin-extra.html for core mykeyspace.mytable by looking for legacy resources...
No resource admin-extra.html found for core mykeyspace.mytable on any live node.
Couldn't find resource: admin-extra.html, ignoring...
日志中没有其他错误/警告。 这可能有什么问题?任何帮助表示赞赏。
#UPDATE 1 我将solrconfig更改为硬提交,但这也没有用。 然后我尝试通过solrj添加数据并调用硬提交,这也失败了以下异常 -
ERROR [http-8983-exec-2] 2015-03-20 04:51:58,360 SolrDispatchFilter.java (line 696) Error request exception: Solr requires that request parameters sent using application/x-www-form-urlencoded content-type can be read through the request input stream. Unfortunately, the stream was empty / not available. This may be caused by another servlet filter calling ServletRequest.getParameter*() before SolrDispatchFilter, please remove it.
最后,我将表架构更改为具有整数主键,并发布事情像魔术一样正常工作。
我仍然不清楚先前架构的问题是什么!!
答案 0 :(得分:-1)
您无法索引只有一列且该列与其主键同时存在的列系列
是Solr限制