Я использую DSE 6.7 с 3 узлами, 128 виртуальных узлов на узел.
Я настроил solr IKAnalyzer для поиска китайского текста. Это хорошо работает в консоли Solr, как показано на рисунке ниже:
но в запросе это не совсем нормально, всегда возвращайте пустые данные.
тогда я тестирую в cassandra devCenter, он такой же, счетчик возвращаемых данных не пустой, но данные всегда пустые?
Может кто-нибудь помочь мне с этим?
Определение таблицы
CREATE TABLE IF NOT EXISTS rawdata.tax_law (
type text,
cityname text,
items text,
title text,
link text,
accessory text,
content text,
article date text,
number text,
pubdate date,
valid text,
PRIMARY KEY (title, type, date)
);
Схема Solr:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <schema name="autoSolrSchema" version="1.5"> <types>
<fieldType class="org.apache.solr.schema.StrField" name="StrField"/>
<fieldType class="com.datastax.bdp.search.solr.core.types.SimpleDateField" name="SimpleDateField"/>
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" useSmart="false" >
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
</analyzer>
<analyzer type="query" useSmart="true" >
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
</analyzer>
</fieldType> </types> <fields>
<field indexed="true" multiValued="false" name="title" stored="true" type="StrField"/>
<field indexed="true" multiValued="false" name="items" type="StrField"/>
<field indexed="true" multiValued="false" name="article_date" type="StrField"/>
<field indexed="true" multiValued="false" name="cityname" type="StrField"/>
<field indexed="true" multiValued="false" name="number" type="StrField"/>
<field docValues="true" indexed="true" multiValued="false" name="pubdate" type="SimpleDateField"/>
<field indexed="true" multiValued="false" name="content" stored="true" type="text_ik"/>
<field indexed="true" multiValued="false" name="link" type="StrField"/>
<field indexed="true" multiValued="false" name="type" type="StrField"/>
<field indexed="true" multiValued="false" name="valid" type="StrField"/>
<field indexed="true" multiValued="false" name="accessory" type="StrField"/>
<field name="searchText" type="text_ik" indexed="true" stored="false" multiValued="true" /> </fields> <uniqueKey>(title,type,article_date)</uniqueKey>
<defaultSearchField>searchText</defaultSearchField>
<solrQueryParser defaultOperator="OR" /> <copyField source="title" dest="searchText" /> <copyField source="content" dest="searchText" /> </schema>
Разместите мою простую схему таблиц и тестовые данные здесь, запрос ниже будет пустым.
CREATE TABLE IF NOT EXISTS rawdata.test(
id int,
title text,
content text,
PRIMARY KEY (id, title)
);
select * from rawdata.test;
select * from rawdata.test where solr_query='{"q":"content:税法"}';
select * from rawdata.test where solr_query='{"q":"title:国税局"}';