字段、复制字段、动态字段怎么使用

技术Field、CopyField、DynamicField怎么使用这篇文章主要介绍“Field、CopyField、DynamicField怎么使用”,在日常操作中,相信很多人在Field、CopyField、Dyna

本文主要介绍“如何使用字段、复制字段和动态字段”。在日常操作中,相信很多人对于如何使用Field、CopyField、DynamicField都有疑问。边肖查阅了各种资料,整理出简单易用的操作方法,希望能帮你解答“如何使用Field、CopyField、DynamicField”的疑惑!接下来,请和边肖一起学习!

字段:

字段就是字段。定义字段非常简单:

基本上,属性类似于字段类型,它的属性将覆盖具有相同名称的字段类型的属性。

CopyField(本段内容直接从solr中文网站复制而来):

您可能希望文档的某些字段被多次使用。Solr具有字段复制机制,可以将不同类型的多个字段提交到一个字段中。字段复制主要涉及两个概念,源和目的。一个是要复制的字段,另一个是要复制的字段。以下是一个例子:

一个

复制字段

来源

=

建筑环境及HVAC系统模拟的软件平台

=

“文本”

maxChars

=

'30000'

/在上例中,如果文本字段中有数据,cat字段的内容将被添加到文本字段中。MaxChars参数是一个int参数,用于限制复制字符的数量。

源和目标都支持通配符。以下是文本字段中以_t结尾的所有字段的副本。

一个

复制字段

来源

=

*_t '

建筑环境及HVAC系统模拟的软件平台

=

“文本”

maxChars

=

'25000'

/其实简单来说,比如你现在想查询包含‘Java’的博客,就必须检查内容以及标题是否包含Java,但是solr不能像SQL一样,其中title像“% Java%”或者content像“% Java%”。这时,copyField就派上用场了,定义一个新的字段,把标题和内容复制到这个新的字段中,直接索引。这是copyField的典型应用场景。注:如果目的地由多个组成

ource构成,就需要将其指定为multiValued。

在网上找了一个例子:

<schema name="eshequn.post.db_post.0" version="1.1"  
    xmlns:xi="http://www.w3.org/2001/XInclude">  
     <fields>  
        <!-- for title -->  
        <field name="t" type="text" indexed="true" stored="false" />  
        <!-- for abstract -->  
        <field name="a" type="text" indexed="true" stored="false" />  
        <!-- for title and abstract -->  
        <field name="ta" type="text" indexed="true" stored="false" multiValued="true"/>  
    </fields>  
    <copyField source="t" dest="ta" />  
    <copyField source="a" dest="ta" />  
</schema>

DynamicField:

动态字段(Dynamic fields)允许 solr 索引没有在 schema 中明确定义的字段。这个在忘记定义一些字段时很有用。动态字段可以让系统更灵活,通用性更强。

动态字段和常规字段类似,除了它名字中包含一个通配符外,在索引文档时,一个字段如果在常规字段中没有匹配时,将到动态字段中匹配。

假设schema中定义了一个叫*_i的动态动态字段,如果要索引一个叫 cost_i 的字段,但是 schema 中不存在 cost_i 的字段,这样 cost_i  将被索引到 *_i 字段中。

动态字段也是定义在 schema.xml 文件中,和其他字段一样,它也有个名词,字段类型,和属性。

1 <    
    dynamicField    
    name    
    =    
    "*_i"    
    type    
    =    
    "sint"    
    indexed    
    =    
    "true"    
    stored    
    =    
    "true"    
    />

建议在 schema.xml 定义一些基本的动态字段,以备扩展之用。

到此,关于“Field、CopyField、DynamicField怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155618.html

(0)

相关推荐

  • C#的ServerSuperIO有什么特点

    技术C#的ServerSuperIO有什么特点这篇文章主要讲解了“C#的ServerSuperIO有什么特点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#的Serve

    攻略 2021年11月26日
  • SQL的常见错误有哪些

    技术SQL的常见错误有哪些本篇内容主要讲解“SQL的常见错误有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL的常见错误有哪些”吧!1. Queries语句的执行顺序

    攻略 2021年10月22日
  • git分支合并

    技术git分支合并 git分支合并在做开发的时候,你和你的小伙伴在同一个仓库下不同分支进行开发,最后需要把代码合并到一个分支中。比如他用的是master分支,然而你用的你自己建的一个分支new。你需要把

    礼包 2021年10月19日
  • 怎么处理MySQL中Warning: World-writable config file is ignored故障问题

    技术怎么处理MySQL中Warning: World-writable config file is ignored故障问题这篇文章主要讲解了“怎么处理MySQL中Warning: World-writable con

    攻略 2021年11月18日
  • 归并算法

    技术归并算法 归并算法归并算法采用了分而治之的思想,具体的内容懂的都懂,不懂的也不需要明白,看代码就完事了。
    public class guibing { public static int[]

    礼包 2021年12月9日
  • 批量处理-单次异常-回滚单次内容

    技术批量处理-单次异常-回滚单次内容 批量处理-单次异常-回滚单次内容批量处理-单次异常-回滚单次内容
    批量任务,其中一批次异常,仅回滚 本批次整条线,但 批量任务中的其他任务不影响。解决方案:
    1.

    礼包 2021年12月16日