在solr的schema.xml中有一个<uniqueKey>id</uniqueKey>元素。这个元素指定id的唯一性,即你建立索引时,如果add了两个具有相同id的索引,则最后加入的索引将覆盖前面的具有相同id的索引。
但是如果id是text类型,它的值是“中文”的话,solr这个自动覆盖功能并不起作用。不知道如何解决?
但是如果把text类型改为string类型,就能解决上述问题。呵呵,只知其然不知其所以然啊。
值得一提的还有field元素中multiValued这个属性,如下所示:<field name="content" type="text" indexed="true" stored="true" multiValued="true"/>。在这个例子里,这个属性表示content可以有多个值,即在api中,可以add两次,如下所示:
SolrInputDocument sid = new SolrInputDocument();
sid.addField("content", "今天我去上班,坐公交车");
sid.addField("content", "今天我去上班,骑自行车");
这样的话,当你使用新的id索引覆盖旧的id索引,并且你查询条件是使用content时,就要小心新索引的content里,是否有和旧索引的content里相同的值了。这样就不会有怎么没有删去旧索引的错觉了。
分享到:
相关推荐
配置文件:<fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" isIndistinct="true"/> ...
<groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>${solrj.version}</version> </dependency> </dependencies> </dependencyManagement> <build> <finalName>${project....
配置文件:<fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" isIndistinct="true"/> ...
NULL 博文链接:https://martin3000.iteye.com/blog/1328833
<fieldType name="text_lk" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false"/> <filter class="solr....
<fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" /> </analyzer> <analyzer type="query"> ...
<filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/> <filter class=...
<filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/> <filter class...
<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </...
<artifactId>quasar-solr-client</artifactId> <version>0.1.0</version> </dependency> 特征 支持基本查询。 待办事项清单 添加INSERT和UPDATE操作。 程式码范例 private final String QUORUM = " localhost:...
IKAnalyzer中文分词器本身已经不支持最新的solr 5,集成到solr中分词会报错,这里将解决了solr 5支持问题的最新IK包共享出来,希望能帮到各位! 附上IK在schema.xml中的配置: <fieldType name="text_ik" class=...
找一个MyEclipse Web项目,把.project文件中的<buildSpec>...</buildSpec>和<natures>...</natures>标签中的内容复制到生成的项目中的.project文件中。 3. 找到Web项目中的.mymetadata文件,看看里面的内容,就...
solr配置ansj,managed-schema.xml中配置 <fieldType name="text_ansj" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="org.ansj.lucene.util....
solr6对应的IKAnalyzer分词... <filter class="solr.SynonymFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
配置如下:<fieldtype name="text_pinyin" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart="true" /> <filter class="home.rong....
找一个MyEclipse Web项目,把.project文件中的<buildSpec>...</buildSpec>和<natures>...</natures>标签中的内容复制到生成的项目中的.project文件中。 3. 找到Web项目中的.mymetadata文件,看看里面的内容,就...
找一个MyEclipse Web项目,把.project文件中的<buildSpec>...</buildSpec>和<natures>...</natures>标签中的内容复制到生成的项目中的.project文件中。 3. 找到Web项目中的.mymetadata文件,看看里面的内容,就...
找一个MyEclipse Web项目,把.project文件中的<buildSpec>...</buildSpec>和<natures>...</natures>标签中的内容复制到生成的项目中的.project文件中。 3. 找到Web项目中的.mymetadata文件,看看里面的内容,就...
<name>yarn.resourcemanager.address</name> <value>localhost:8032</value> </property> 在这些说明中, $PROJECT_HOME指的是您克隆此项目的目录。 1) 在本地工作站上启动 ZooKeeper 3.4.6+ 不支持使用
索引 在文字上创建和访问 RDF 索引,包括模糊匹配和 ... <groupId>org.aksw.rdfindex</groupId> <artifactId>rdfindex</artifactId> <version>0.1-SNAPSHOT</version> </dependency> Maven 存储库 <repository>