`
bit6211
  • 浏览: 74314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

solr中的<uniqueKey>问题

阅读更多
在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里相同的值了。这样就不会有怎么没有删去旧索引的错觉了。
分享到:
评论
3 楼 tongyao99 2018-01-18  
uniqueKey必须是strField,否则uniqueKey是不能设置成功的
2 楼 huishengzhang 2016-01-20  
我的id已经设置了uniquekey 并且 multiValued=false,但是还是有重复的数据,solr3.6
1 楼 bit6211 2009-10-21  
2-500w 写道
中文会进行切词,所以不起作用。
目前我的系统里设置id为string类型,任然有两条相同的id记录,不知为何?solr1.3


你好,你是不是没有把没有把id设为uniqueKey或者id是multiValued。如果不是的话,我们再一起讨论。

相关推荐

    solr7.4配置tomcat8.5,可连接mysql8.0.11,集成ik分词器

    &lt;str name="literal.id"&gt;${.solr.uniqueKey}&lt;/str&gt; &lt;str name="lowernames"&gt;true&lt;/str&gt; &lt;str name="fmap.meta"&gt;ignore&lt;/str&gt; &lt;str name="fmap.content"&gt;_text_&lt;/str&gt; &lt;/lst&gt; &lt;lst name="invariants"&gt; &lt;str ...

    solr3.5配置及应用

    为了确保数据的唯一性,通常会为每个文档设置一个唯一的标识符,例如默认情况下使用`id`字段作为唯一键,在Schema配置文件中通过`&lt;uniqueKey&gt;id&lt;/uniqueKey&gt;`来进行定义。 - **核心特性**:Solr具备高效的缓存机制、...

    schema.xml说明

    &lt;uniqueKey&gt;id&lt;/uniqueKey&gt; ``` 这里指定了`id`字段作为唯一键字段。 #### 五、CopyFields元素详解 `copyField`元素用于复制一个或多个字段的值到另一个字段,有助于提高查询性能: ```xml &lt;copyField source=...

    solr3.5配置

    Document 的唯一标识通常是 `id` 字段,这是通过 Schema 配置文件中的 `&lt;uniqueKey&gt;id&lt;/uniqueKey&gt;` 指定的。 Solr 的主要特性包括: 1. **高性能**:利用高效的缓存机制,提高搜索速度。 2. **灵活性**:支持 XML ...

    solr5.3.1 导入mysql数据

    例如:`&lt;uniqueKey&gt;id&lt;/uniqueKey&gt;`。 5. **分析器(Analyzers)**: 分析器负责对输入的文本进行分词、去除停用词等预处理。我们可以自定义分析器以满足特定的语言或需求。 有了合适的 Schema.xml 配置后,接下来...

    solr定时索引

    在Solr中,通常会配合数据导入工具DataImportHandler (DIH) 使用,通过LastModified或者UniqueKey来判断哪些记录需要更新。 完整索引:完整索引则是在预设时间点重新创建整个索引,覆盖现有索引。这适用于数据变动...

    solr配置放啊

    - `&lt;uniqueKey&gt;`元素用于指定唯一标识符字段。 - `&lt;field&gt;`元素用于定义索引字段的各种属性,如别名、类型、是否索引、是否存储以及是否允许多值等。 #### 六、总结 通过对Solr配置文件的深入解析,我们可以看到...

    Apache Solr and Tomcat6 Search engine

    3. **&lt;uniqueKey&gt;**:指定文档的唯一标识符,用于确保每条记录的唯一性。 4. **&lt;copyField&gt;**:将一个字段的内容复制到另一个字段,通常用于创建索引时的副本,以便于不同的搜索需求。 5. **&lt;solrQueryParser&gt;** ...

    ik分词器文档

    - `&lt;uniqueKey&gt;`:指定唯一标识文档的字段名,通常使用`id`作为主键。 - **复制字段**: - `&lt;copyField&gt;`:用于将一个或多个字段的值复制到另一个字段中,便于集中管理索引。 - `source`:源字段名。 - `dest`:...

    solr全文检索

    `uniqueKey`字段指定每个文档的唯一标识,例如`url`字段。 2. **`solrconfig.xml`**:配置Solr的系统属性,如索引和查询处理选项、缓存策略、请求处理器等。 **四、中文分词支持** 对于中文全文检索,分词是关键...

    solr schema solrconfig 配置文件解析

    - **唯一标识符(Unique Key)**: 必须设置,用于唯一标识每条记录。 - **分析器(Analyzers)**: 负责对输入文本进行预处理,如分词、去除停用词等。 **3. `solrconfig.xml`详解** `solrconfig.xml`文件定义了Solr...

    SOLR学习笔记

    9. **唯一标识符(Unique Key)**:每个文档都需要一个唯一的标识符,通常设置为主键字段,确保数据的正确性和一致性。 10. **字段提升(Field Boosting)**:通过设置字段权重,可以影响相关性的计算,使某些字段...

    1.2、Core的介绍和中文分词器的使用1

    每个文档必须有一个唯一的ID,即`uniqueKey`,用于标识文档,类似于数据库中的主键。 6. **CopyField**: CopyField功能允许在添加文档时自动将源域的内容复制到目标域,可以提高查询性能,例如将多个相关的域...

Global site tag (gtag.js) - Google Analytics