精华内容
下载资源
问答
  • Idea 配置避免建立索引目录

    千次阅读 2017-03-08 13:53:12
    Idea 配置避免建立索引目录    .idea/{项目名称}.iml   <?xml version="1.0" encoding="UTF-8"?> <module type="WEB_MODULE" version="4"&...

    Idea 配置避免建立索引的目录

     

     .idea/{项目名称}.iml

     

    <?xml version="1.0" encoding="UTF-8"?>

    <module type="WEB_MODULE" version="4">

      <component name="NewModuleRootManager">

        <content url="file://$MODULE_DIR$">

          <excludeFolder url="file://$MODULE_DIR$/node_modules" />

        </content>

        <orderEntry type="inheritedJdk" />

        <orderEntry type="sourceFolder" forTests="false" />

      </component>

    </module>

     

    参考:

    http://blog.csdn.net/longly_me/article/details/51898641

    展开全文
  • Django 建立索引

    千次阅读 2020-06-18 00:22:28
    数据库索引好比是一本书前面的目录,没有索引目录的话,你访问书中某个页面需要从第1页遍历到最后一页,如果有目录,你可以快速地根据目录查找到所需要的页面。Django项目中如果你需要频繁地对数据表中的某些字段(如...

    数据库数据规模挺大的,建立索引以加速查询。

    通过db_index和Meta index选项给数据表字段建立索引

    使用索引可快速访问数据库表中的特定信息。数据库索引好比是一本书前面的目录,没有索引目录的话,你访问书中某个页面需要从第1页遍历到最后一页,如果有目录,你可以快速地根据目录查找到所需要的页面。Django项目中如果你需要频繁地对数据表中的某些字段(如title)使用filter(), exclude()和order_by()方法进行查询,我们强烈建议你对这些字段建议索引(index), 提升查询效率。

    要对模型中的某个字段建立数据库索引,你可以使用db_index选项,也可以使用Meta选项建立索引。使用Meta选项的好处是你可以一次性对多个字段建立索引,还可以对多个字段建立组合索引。

    代码如下:

    class CountryData(models.Model):
        date = models.DateField()
        country = models.ForeignKey(Country, on_delete=models.CASCADE, default="")
        confirm_add = models.IntegerField(default=0)
        confirm = models.IntegerField(default=0)
        heal = models.IntegerField(default=0)
        dead = models.IntegerField(default=0)
    
        def __str__(self):
            return str(self.country) + " " + self.date.strftime("%Y/%m/%d")
    
        class Meta:
            indexes = [models.Index(fields=['country']), ]
    

    同时Meta中还可以定义联合索引:

    index_together = ["user", "goods"]

    联合约束:(即goods与user不相同)

    unique_together = ["goods", "user"]

     

    展开全文
  • 文章目录Solr怎么建立索引和查询Solr建立索引的过程索引创建Solr搜索的工作流程Solr的查询对查询内容进行词法分析语言处理搜索索引得到结果,进行排序   Solr有非常多的功能,但是所有搜索引擎都没法脱离索引和...

    Solr怎么建立索引和查询


      Solr有非常多的功能,但是所有搜索引擎都没法脱离索引和查询,Solr全文检索也是类似的原理,它可以归结为两个过程: 1.索引创建(Indexing) 2. 搜索索引(Search)。因此下面将会对这两个部分展开讲解。

    Solr建立索引的过程

      前面文章提到过,Solr/Lucene采用的是一种反向索引,所谓反向索引:就是从关键字到文档的映射过程,保存这种映射这种信息的索引称为反向索引。
    在这里插入图片描述
      左边保存的是字符串序列

      右边是字符串的文档(Document)编号链表,称为倒排表(Posting List)

    索引创建

    假设有如下两个原始文档:
    文档一:

    Students should be allowed to go out with their friends, but not allowed to drink
    beer.

    文档二:

    My friend Jerry went to school to see his students but found them drunk which is not allowed.
    创建过程大概分为如下步骤:
    在这里插入图片描述

    • 1.把原始文档交给分词组件(Tokenizer)

      分词组件(Tokenizer)会做以下几件事情(这个过程称为:Tokenize),处理得到的结果是词汇单元(Token)

    ​ a.将文档分成一个一个单独的单词

    ​ b.去除标点符号

    ​ c.去除停词(stop word)

      所谓停词(Stop word)就是一种语言中没有具体含义,因而大多数情况不会作为搜索的关键词,这样一来创建索引时能减少索引的大小。经过分词(Tokenizer)后得到的结果称为词汇单元(Token)。

      上例子中,便得到以下词汇单元(Token):“Students”,“allowed”,“go”,“their”,“friends”,“allowed”…….等等

    • 2.词汇单元(Token)传给语言处理组件(Linguistic Processor)

    语言处理组件(linguistic processor)主要是对得到的词元(Token)做一些语言相关的处理。对于英语,语言处理组件(Linguistic Processor)一般做以下几点:

       a.变为小写(Lowercase)。

      b.将单词缩减为词根形式,如”cars”到”car”等。

      c.将单词转变为词根形式,如”drove”到”drive”等。

      d.语言处理组件(linguistic processor)处理得到的结果称为词(Term)

      例子中经过语言处理后得到的词(Term)如下: “student”,“allow”,“go”,“their”,“friend”,“allow”,……等等

    • 3.得到的词(Term)传递给索引组件(Indexer)

    a.利用得到的词(Term)创建一个字典
    在这里插入图片描述

    b.对字典按字母顺序排序:Term Document ID

    在这里插入图片描述
    c.合并相同的词(Term)成为文档倒排(Posting List)链表
    在这里插入图片描述

      至此索引创建完成,搜索”drive”时,”driving”,”drove”,”driven”也能够被搜到。因为在索引中,”driving”,”drove”,”driven”都会经过语言处理而变成”drive”,在搜索时,如果您输入”driving”,输入的查询语句同样经过分词组件和语言处理组件处理的步骤,变为查询”drive”,从而可以搜索到想要的文档。

    Solr搜索的工作流程

    在这里插入图片描述
    用户输入查询字符串,根据用户的请求类型qt(查询为/select)选择请求处理器RequestHandler,根据用户输入的参数defType来选择一个查询解析器解析用户的查询串(默认使用RequestHander中配置的默认查询解析器),查询解析器解析完以后根据用户输入的参数qf指定的字段进行搜索(默认是所有索引字段),查询到结果以后做一些特殊的处理(fq,sort,start,rows,wt)以后使用响应处理器ResponseWriter返回给用户。

    Solr的查询

      Solr的查询,首先会对查询条件进行词法分析、语法分析、语言处理,然后通过分析后的词到索引中查询,然后得到存在指定词的文档集合,然后再进行对结果的一些处理,例如排序或者查找指定的条目数的文档等。主要步骤:

      第一步.对查询内容进行词法分析、语法分析、语言处理,最主要的处理

      第二步.搜索索引,得到符合语法树的文档集合

      第三步.根据查询语句与文档的相关性,对结果进行排序

    对查询内容进行词法分析

    区分查询内容中单词和关键字,比如:Apple and Phone, ” and”就是关键字,” Apple ”和”Phone”是普通单词。根据查询语法的语法规则形成一棵树
    在这里插入图片描述

    语言处理

    跟创建索引时处理方式是一样的。比如:learned–>learn,driven–>drive

    搜索索引得到结果,进行排序

    第二步,搜索索引,得到符合语法树的文档集合
    第三步,针对符合条件的文档结果,根据查询语句与文档的相关性,对结果进行排序,分数高比较越相关,排名就越靠前。

    展开全文
  • MySQL 建立索引

    万次阅读 2018-06-16 13:17:44
    建立索引的必要性 主键默认是建立索引的,而且具有唯一性 合适地建立索引后比不建立索引,提高了查询速度 创建索引的语法: 简单索引(可以有重复数据) create index [indexname] on [tablename](...

    建立索引的必要性

    • 主键默认是建立索引的,而且具有唯一性
    • 合适地建立索引后比不建立索引,提高了查询速度

    创建索引的语法:

    • 简单索引(可以有重复数据)
      create index  [indexname]  on [tablename]([column_name]);`

    举例子说明如:

    • 创建一个数据表,设定一些初始的数据,然后采用
     (insert  [tablename] ([column_name],[column]_name)...  select [column_name] [column_name]... from [tablename] 

    • 按照此方法设置了一张具有重复数据,数据量达到了一千六百多万的数据表
      这里写图片描述
    • 针对一张将近一千万数据库的数据表,查询一个设置索引的与不设置索引的列之间的差异,因为数据的重复性较高,所以查询时采用查询不存在的数据,这样就可以遍历整个数据表
    • 数据库字段
      这里写图片描述

    • 为name 字段创建简单索引
      这里写图片描述
      花了一分多钟

    • 分别对创建缩影的 name 字段和 没有创建索引的 date1 ,id字段 进行查询
      这里写图片描述
      这里写图片描述
      这里写图片描述
    • 可以看出没有设置索引的date1 字段比有设置索引的查询时间慢了很多,但是我们没有为id 设置设置索引啊?
    • 其实是在创建表时 我设置了id 为主键,数据库引擎默认给主键设置了索引;

    创建索引,影响增改删的效率

    数据的变化导致索引结构也发生变化
    举例:
    这里写图片描述

    • 可以看出 在创建索引后对10w条数据进行修改时,需要3.62秒的时间,而删除索引后只需要0.5秒以内的时间。所以建立索引对增删改的影响还是比较大的。
    展开全文
  • execl 建立目录索引

    2014-11-21 16:39:03
    在第一个工作表上点击鼠标右键,选择插入命令,然后重命名为【索引目录
  • Lucene建立索引

    千次阅读 2016-06-23 17:53:48
    问题?Lucene如何建立索引库,lucene所需要的jar包是那些 , lucene如何使用索引库,lucene的核心原理 一、Lucene是什么? 二、建立索引库 三、
  • 程序的输入值为哪些,以及定义的数据子集的大小,是建立索引的基础。 索引是一种尽快访问“特定数据”的技术。 靠索引并不能实现对所有数据的快速访问。 处理开销:每当在表中插入或删除记录时,该表的所有索引都...
  • mysql优化之建立索引

    2019-08-09 12:11:44
    mysql优化之建立索引遇到的问题?(什么情况下说明你要建立索引了?)索引是什么?(这个可以不看,总之索引是给表建立了一个字典目录,根据目录查询数据库会很快)如何添加索引?如何使用索引?怎样验证数据库查询...
  • 建立索引

    2007-08-02 17:55:00
    建立索引 假设你想找书中的某一个句子。你可以一页一页地逐页搜索,但这会花很多时间。而通过使用索引,你可以很快地找到你要搜索的主题。 表的索引与附在一本书后面的索引非常相似。它可以极大地提高查询的速度。...
  • SQL SERVER建立索引.pdf

    2011-11-02 15:23:21
    一、建立索引 二、聚簇索引和非聚簇索引 三、索引属性 四、用SQL建立索引 五、用事务管理器建立索引 六、创建索引的方法和索引的特征 1.创建索引的方法 2.索引的特征 七、索引的类型 1.聚簇索引的体系结构 2.非...
  • 为mysql数据库建立索引;mysql索引总结----mysql 索引类型以及创建;mysql_建立索引的优缺点
  • 数据库建立索引的优缺点

    千次阅读 2019-04-01 14:21:34
    为什么要建立索引,即索引的优点: ① 建立索引的列可以保证行的唯一性,生成唯一的rowId ② 建立索引可以有效缩短数据的检索时间 ③ 建立索引可以加快表与表之间的连接 ④ 为用来排序或者是...
  • 今天给大家分享一下,修真院官网JAVA任务1中普通索引和唯一索引的区别以及何时建立索引的探讨。 一、背景介绍 索引作用:简而言之,加快搜索速度 常见索引分类:普通索引,唯一索引,主键索引,全文索引,组合...
  • solr建立索引

    千次阅读 2017-09-05 09:53:14
    Apache Solr带有一个叫做SimplePostTool独立的Java程序...这个程序被打包成JAR,在安装目录下 example\exampledocs可看到。 现在,我们在命令行定位到example\exampledocs文件夹,然后键入以下命令。你会看到一堆选项
  • 进行Luence配置的过程中,到“Luence开发包中Demo调试”这步,“建立索引”,在DOS命令窗口中输入>java org.apache.lucene.demo.IndexFiles [D:\Java],回车,之后提示“文件名、目录名或卷标语法不正确。...
  • Navicat建立索引

    万次阅读 2014-06-05 10:46:52
    索引介绍 ...如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置(原理类似书本目录)。 索引分类A:按类型分:PRIMARY 主键。 就是 唯一 且 不能为空。Nor
  • sql建立索引

    2010-01-07 10:10:00
    本文将介绍利用SQL建立索引的方法。 假设你想找书中的某一个句子。你可以一页一页地逐页搜索,但这会花很多时间。而通过使用索引,你可以很快地找到你要搜索的主题。 表的索引与附在一本书后面的索引非常相似。它...
  • 为word文档建立索引

    2021-01-25 16:54:21
    我们需要为每一篇文章的总结写一个小标题,并建立索引,以方便我们快速定位查看该篇文章的总结。 方法 使用目录的方法,步骤如下。 1.写好标题(红色)(注:标号1不写也可以)和总结(黑色)。 2.选中标题,点击...
  • 如何为mysql建立索引

    千次阅读 2018-09-20 21:43:21
    如何为mysql建立索引 什么情况下应不建或少建索引 设计MySql索引的时候有一下几点注意: 索引作用 在索引列上,除了有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常...
  • My SQL建立索引

    千次阅读 2014-03-03 16:36:52
    拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K 。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的...
  • java连接solr并建立索引

    千次阅读 2016-04-25 15:12:22
    java连接solr并建立索引
  • 数据库中的索引和数据的目录相似,利用目录快速查找所需的信息。在数据库中,索引是某个表中一列或者若干列值的集合,以及物流标识这些值的数据页的逻辑指针清单。是SQL Server编排数据的内部方法,通过索引,可...
  • 文章目录1. 什么是索引2. 索引的特点3. 索引的分类4. 索引的设计原则5. 创建索引5.1. 自动创建索引5.2. 手动创建索引5.2.1. 创建表时创建索引5.2.2. 在已经存在的表上创建索引5.2.2.1. alter语句创建索引5.2.2.2. ...
  • Lucene---建立索引初步

    千次阅读 2016-11-25 11:43:35
    建立索引需要5步。1.创建DirectoryDirectory这个类这里我们可以暂时理解为主要用来决定索引文件是创建在内存中还是硬盘中。也就是说这个类用来决定存储索引文件的目录。2.创建IndexWriter这个类主要用来写索引。3....
  • 对数据库索引的理解及适合建立索引的字段

    万次阅读 多人点赞 2018-03-06 13:17:43
    转载深入浅出数据库索引原理,哪些字段适合建立索引 问题 为什么要给表加上主键? 为什么加索引后会使查询变快? 为什么加索引后会使写入、修改、删除变慢? 什么情况下要同时在两个字段上建索引? 这些问题...
  • excel中创建索引目录

    千次阅读 2016-12-03 14:42:34
    创建索引目录
  • import org.apache.lucene.index.DirectoryReader;... log.info("{}子目录下的索引建立完成", indexPath); return indexReader; } catch (IOException e) { e.printStackTrace(); } return null; } }
  • 使用Lucene建立索引

    千次阅读 2012-06-19 17:02:05
    最近在看Lucene in Action这本书的原著,第一步就是建立建立文件索引,当然文件必须为统一的格式,Lucene不支持异构文件。 我练习了书中的listing 1.1:Indexer,由于我使用的是Lucene3.5版本,而书中使用的3.0,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 209,123
精华内容 83,649
关键字:

怎样建立索引目录