精华内容
参与话题
问答
  • Search()函数使用方法

    千次阅读 2014-01-17 09:13:55
  • 何为正则表达式?正则表达式,又称规则表达式,英文名为RegularExpression,在代码中常简写为regex、regexp或RE,是计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(Patterns)的文本。...

    何为正则表达式?

    正则表达式,又称规则表达式,英文名为RegularExpression,在代码中常简写为regex、regexp或RE,是计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(Patterns)的文本。

    正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。

    Find Patterns in Text(文本查找模式)

    关于re的最常见用法是在文本中搜索模式

    常用re.search()

    string进行搜索,成功返回Match object, 失败返回None, 只匹配一个

    search(pattern, string, flags=0):

    """Scan through string looking for a match to the pattern, returning

    a match object, or None if no match was found."""


    例子1:

    import re
    
    patterns = [ 'this', 'that' ]
    text = 'Does this text match the pattern?'
    
    for pattern in patterns:
        print 'Looking for "%s" in "%s" ->' % (pattern, text),
    
        if re.search(pattern,  text):
            print 'found a match!'
        else:
            print 'no match'

           例子2:

    import re
    
    pattern='this' #AB
    text='Does this text match the pattern ?'
    
    match=re.search(pattern,text)
    
    if match:   
        s = match.start()
        e = match.end()
        print('Found "%s" in "%s" from %d to %d("%s")' % \
              (pattern,text, s, e, text[s:e]))
    else:
        print('No found')

    参考:

    [1]https://baike.sogou.com/v107588.htm?fromTitle=正则表达式

    [2]https://pymotw.com/2/re/#finding-patterns-in-text



    展开全文
  • javascript 操作 url 中 search 部分方法函数前言首先,我们需要知道什么是 search , search 是 window.location 的一个属性.举个例子:首先,我们这里有一个 url,是 ...

    javascript 操作 url 中 search 部分方法函数

    前言

    首先,我们需要知道什么是 search , searchwindow.location 的一个属性.举个例子:

    首先,我们这里有一个 url,是 http://www.a.com/list/2.html?page=2&color=4&size=3#pic.

    我们访问访问这个地址,打开控制台,输入window.location,会得到如下图的结果

    location结果

    如上,我们要操作的就是上图中方框框出来的这个部分.

    为什么要操作这个?

    例如,我在第二页,需要跳转到第三页,就需要把上面的 page=2 给更新成 page=3 并且保证其他的参数保留.

    又或者,本来没有search结果(如一般列表的第一页就啥都没有),但我现在需要加上page=2.

    再来,我需要知道我现在在第几页,也就是说,我需要获取 page的值.

    等等,都需要操作search.现在我们前后端分离,search是一个很重要的参数配置的方法.

    构建方法

    获取search中指定的某个参数值

    百度一下,我们找到如下方法:

    function GetQueryString(name){
         var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
         var r = window.location.search.substr(1).match(reg);
         if(r!=null)return  unescape(r[2]); return null;
    }

    方法出处:用JS获取地址栏参数的方法

    全功能方法

    本来想写实现思路的,但一时想不起来了,直接给最终方法:

    function funcUrl(name,value,type){
        var loca = window.location;
        var baseUrl = type==undefined ? loca.origin + loca.pathname + "?" : "";
        var query = loca.search.substr(1);
        // 如果没有传参,就返回 search 值 不包含问号
        if (name==undefined) { return query }
        // 如果没有传值,就返回要查询的参数的值
        if (value==undefined){
            var val = query.match(new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"));
            return val!=null ? decodeURI(val[2]) : null;
        };
        var url;
        if (query=="") {
            // 如果没有 search 值,则返回追加了参数的 url
            url = baseUrl + name + "=" + value;
        }else{
            // 如果没有 search 值,则在其中修改对应的值,并且去重,最后返回 url
            var obj = {};
            var arr = query.split("&");
            for (var i = 0; i < arr.length; i++) {
                arr[i] = arr[i].split("=");
                obj[arr[i][0]] = arr[i][1];
            };
            obj[name] = value;
            url = baseUrl + JSON.stringify(obj).replace(/[\"\{\}]/g,"").replace(/\:/g,"=").replace(/\,/g,"&");
        };
        return url;
    }

    使用方法

    1. funcUrl()获取完整search值(不包含问号)
    2. funcUrl(name)返回 url 中 name 的值(整合上一段别人的方法)
    3. funcUrl(name,value)searchname的值设置为value,并返回完整url
      • 返回内容如 http://www.a.com/list/2.html?page=2&color=4&size=3#pic
    4. funcUrl(name,value,type) 作用和第三条一样,但这只返回更新好的search字符串
      • 这里的 type 可以是任意字符,比如1;
      • 返回内容举例 page=2&color=4&size=3;
      • 一般用于从url获取参数,再对接到接口上

    小结

    本来想找个现成的插件来用,结果要么太大看不懂,要么不好使.当然,主要还是我水平太差的原因.

    所以就造个轮子玩玩,虽然代码不够优雅,但是还是满足了我的需求.如果你有更好的建议,给我留言哦.

    其实,主要是配合vue来用的,但这里没有VUE的内容,因此就不算VUE的系列教程了.

    本文由FungLeo原创,允许转载.但转载必须署名作者,并保留文章首发链接.否则将追究法律责任.
    首发地址: http://blog.csdn.net/FungLeo/article/details/51673681


    2016年6月24日补充

    原来从别人那边整合过来的代码使用了unescape函数处理从url中传来的参数.但是发现中文在获取之后是乱码.经过查询,从 w3school JavaScript unescape() 函数得到以下内容:

    注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。

    因此,替换为了decodeURI()函数,就正常了.

    展开全文
  • Search

    2020-07-05 10:35:58
    Search 简介 什么时Search Transwarp Search基于开源的Elasticsearch进行开发,在其架构的基础上进行了多种功能优化,并通过Esdrive实现了SQL交互方式。Transwarp Search是一个可扩展的分布式全文搜索和分析引擎。 ...

    Search 简介

    什么时Search

    Transwarp Search基于开源的Elasticsearch进行开发,在其架构的基础上进行了多种功能优化,并通过Esdrive实现了SQL交互方式。Transwarp Search是一个可扩展的分布式全文搜索和分析引擎。

    在TDH中Search主要扮演两个角色。首先Search是Hyperbase全文索引的底层实现,其次也作为一个单独的服务。作为一个单独的服务,Search既是一个强大的搜索引擎,又是一个分布式的文件存储系统。

    常见的应用场景有海量数据的存储和搜索、日志分析等。

    Search的特点

    List item

    1. 作为一个分布式的实时文档存储,Search独创的分层存储数据结构,以及支持内存/SSD/SATA的自动分层存储,并且利用堆外内存管理,具有相当优秀的单节点存储能力,集群对于PB级别的数据存储完全没有问题。除此之外还支持结构化、半结构化以及非结构化数据的存储分析。
    2. 除此之外,Search同时还是一个分布式实时搜索引擎。其对冷热数据分级进行存储,并能毫秒级的实现实时关键字检索。计算紧贴数据和索引,在亚秒级别完成在线分析等。
    3. 通过Inceptor来实现SQL引擎与搜索引擎的融合,实现以SQL方式创建索引和全文搜索。
    4. 具有极强的集群扩展性,能实现上千个节点的横向扩展。

    Search的主要适用场景

    1. 文档数据库。Search可以作为一个分布式文档存储来存储半结构化、非结构化的数据,其功能和性能均优于MongoDB。
    2. 日志分析与监控。数据统计,以及日志类时间序列数据的存储和分析。
    3. 高聚合率的统计分析,如热词追踪。
    4. 作为一个搜索引擎来实现多条件模糊查询以及不指定列的全文搜索。

    Search原理

    数据模型

    1. Index(索引):Transwarp Search以 Index
      为单位来组织数据(Document),一个Index下的数据常常有相似的特征。每个Index都有一个名字用于在操作中指代,Index名必须都为英文小写。并且这里的Index(索引)和Transwarp
      HBase中的索引(本地索引、局部索引、全文索引等)不是一个概念。这里的索引是Transwarp Search中的数据对象。
    2. Type(分类):在一个 Index 下,您可以定义一个或多个 Type
      。Type是Index的逻辑上的分类,分类逻辑完全由用户决定。例如存储员工信息的Index可以按部门分类(分为财务部Type、销售部Type、研发部Type等)也可以按办公地点分类(分为北京办公室Type、上海办公室Type、广州办公室Type等)。
    3. Document(文档):Document 是Transwarp Search中最基础的数据单元。例如,员工信息Index中一名员工的信息可以作为一个Document保存;商品信息Index中一件商品的信息也可以作为一个Document保存。Document以JSON格式存储。
    4. Field(字段):Document中的信息存储在字段(Field)中。

    分词与索引

    分词

    分词的过程为:将一个文本块拆分为单独的词( term ),并标准化这些词为标准形式,提高它们的“可搜索性”或“查全率”。分词的工作是由分词器完成的。

    分词器有很多种类,比如英文分词器Standard、English或者中文分词器ik、mmseg。不同分词器会产生不同的分词效果,产生不同的索引,所以相同的查询使用不同的分词器会产生不同的结果。

    倒排索引

    Search使用倒排索引技术来实现全文搜索。倒排索引主要由单词词典和倒排文件两部分组成。

    倒排索引会按照指定语法对每一个文档进行分词,然后维护一张表,列举所有文档中出现的单词以及它们出现的文档编号和出现频率。搜索时同样会对关键词进行同样的分词分析,然后查表得到结果。

    展开全文
  • 正则系列2: re.search用法

    万次阅读 2019-04-22 10:42:54
    re.search re.search扫描整个字符串并返回第一个成功的匹配。 该方法有3个参数,第一个就是你写的正则表达式,第二个匹配的目标字符串,第三个是一个匹配模式 re.search(pattern, string, flags=0) 先看一个re...
  • search

    2017-11-03 00:06:00
    |—search()—|—添加一个列表变量Expend,存储每个小格扩展时为第几步,可打印出 | |—打印运动表 |—A*—|—heuristic() |—Dynamic programming(动态规划)—|—Value编程 | |—...
  • docker安装ElasticSearch:7.8.0集群

    万次阅读 2020-07-05 01:20:51
    ElasticSearch集群支持动态请求的方式搭建集群和静态配置文件搭建集群 关于集群的动态连接方式官方的文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html 前置...
  • Elasticsearch学习,请先看这一篇!

    万次阅读 多人点赞 2019-02-21 17:28:43
    Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识、原理从初学者认知、学习的角度,从以下9个方面进行详细梳理。欢迎讨论…… 0. 带着问题上路——ES是如何产生的? (1)思考:大规模数据如何...
  • 最近公司项目用到Elasticsearch,自己摸索了好几天才把这个弄明白,和大家分享一下: 一、建立Elasticsearch连接 package com.wlsj.yshj.config; import org.apache.http.HttpHost; import org.apache....
  • 注意权限,不建议使用root,同es集群的启动用户相同即可 1. 下载 & 解压 # 下载 wget https://github.com/lmenezes/cerebro/releases/download/v0.8.3/cerebro-0.8.3.zip # 解压 unzip cerebro-0.8.3.zip # ...
  • Elasticsearch-JSON串查询总结

    万次阅读 2017-10-06 08:55:08
    Elasticsearch的JSON方式查询总结
  • Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可能是目前存在的,不论开源还是私有的,拥有最先进,高性能和全功能搜索引擎功能的库。但是 Lucene 仅仅只是一...
  • 什么是 Elasticsearch 想查数据就免不了搜索,搜索就离不开搜索引擎,百度、谷歌都是一个非常庞大复杂的搜索引擎,他们几乎索引了互联网上开放的所有网页和数据。然而对于我们自己的业务数据来说,肯定就没必要用...
  • elasticsearch.yml 中加上: xpack.security.enabled: true 注::后空一个空格,如果是es集群请务必全部添加此配置 确保集群健康访问_xpack/license/start_trial?acknowledge=true 开启xpack功能,这时候集群会...
  • ES(elasticsearch)搜索引擎安装和使用

    万次阅读 2018-07-17 18:00:25
    ElasticSearch安装 由于本人的操作系统是deepin的liunx系统, 所以本博主发一下Linux安装步骤。 1.简介 Elasticsearch简介* Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去...
  • 详述 Elasticsearch 通过范围条件查询索引数据的方法

    万次阅读 多人点赞 2019-04-05 11:15:59
    在使用 Elasticsearch 的时候,我们可能会遇到需要**以范围为条件查询索引数据**的需求。有两种方法可以实现我们的需求: - 第一种:在服务器或者终端,使用命令来查询索引数据; - 第二种:编写程序,通过 Elastic...
  • ElasticSearch es 插件开发

    千次阅读 2018-09-16 14:30:28
    ElasticSearch es 插件开发 1. 插件分类 API Extension Plugins API扩展插件 通过添加新的API或功能向Elasticsearch添加新功能,通常与搜索或映射有关。 优秀插件代表: SQL language Plugin: 让 Elastic...
  • 简述ESElasticSearch入门简介)

    万次阅读 2018-08-03 11:22:08
    根据ES的官方文档,可以简单定义以下3点: 1 .一个分布式的实施文档存储,...Elasticsearch请求和HTTP请求类似,由以下几个相同的部件构成 curl -X&lt;VERB&gt;'&lt;PROTOCOL&gt;://&lt;HOST...
  • ElasticSearch的Object数据类型

    万次阅读 2020-03-14 12:21:02
    上一篇mapping文章我们知道数字类型和日期类型要精确查找,以及mapping的两个重要的作用。 所以创建索引的时候,是不是可以预先定义字段的类型以及相关属性,这样就能够把日期字段处理成日期,把数字字段处理成数字...
  • 1 Elasticsearch整合Hive 1.1 软件环境 Hadoop软件环境 Hive软件环境 ES软件环境 1.2 ES-Hadoop介绍 1.2.1 官网 https://www.elastic.co/cn/products/hadoop 1.2.2 对 Hadoop 数据进行交互分析 Hadoop 是出色的...
  • 有一种情况,当我们启动elasticsearch之后, 经过很长一段时间没有操作, 自己已经忘了是否已经启动了elasticsearch, 这时候我们可以通过下面的方式验证是否启动,并重新启动: step1 查找ES进程号 ps -ef | ...
  • 然而对于我们自己的业务数据来说,肯定就没必要用这么复杂的技术了,如果我们想实现自己的搜索引擎,方便存储和检索,Elasticsearch 就是不二选择,它是一个全文搜索引擎,可以快速地储存、搜索和分析海量数据。...
  • 使用此插件,您可以使用熟悉的SQL语法查询elasticsearch。您还可以在SQL中使用ES函数。 有两种方法可以使用此插件: 使用其余的api  http://localhost:9200/_sql?sql=select * from indexName limit 10 2. 或者...
  • elasticsearch-jdbc实现MySQL同步到ElasticSearch深入详解

    万次阅读 多人点赞 2016-06-16 20:43:07
    1.如何实现mysql与elasticsearch的数据同步?逐条转换为json显然不合适,需要借助第三方工具或者自己实现。核心功能点:同步增、删、改、查同步。2、mysql与elasticsearch同步的方法有哪些?优缺点对比?目前该领域...
  • 参考: ... ... es简介: ...es是一个高度可扩展的开源全文搜索和分析引擎,可以快速的、近实时地对大数据进行存储、搜索和分析,用来支撑复杂的数据搜索需求和企业级应用。简单来说,它是一个搜索引擎,...
  • Elasticsearch 是一个开源的搜索引擎,建立在全文搜索引擎库 Apache Lucene 基础之上用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的...
  • hadoop集群安装ES(ElasticSearch 5.0.2)

    千次阅读 2017-01-05 14:54:47
    配置/etc/hosts,ntp服务,免密码登录,... 安装java环境 [root@manager ~]# mkdir /usr/java ...[root@manager ~]# cd /opt/ ...[root@manager hadoop]# tar xvf jdk-8u91-linux-x64.tar.gz -C /usr/java ...编辑"/etc/pro
  • 在Kubernetes上部署Elasticsearch集群

    万次阅读 热门讨论 2018-03-06 09:07:55
    在Kubernetes上部署Elasticsearch集群 尝试在上一篇文章中搭建的K8S集群上部署ES集群,去年年中的时候,未来搭建ELK,学习过一段时间的ES,在虚拟机里搭建过简单的集群环境。现在K8S里再次搭建的时候,发现当时学...
  • elasticsearch面试必考(亲身经历的问题)

    万次阅读 多人点赞 2019-04-04 08:13:30
    作者:手留余香 | 转自:Java架构沉思录 | ...问这个,其实面试官就是要看看你了解不了解 es 的一些基本原理,因为用 es 无非就是写入数据,搜索数据。你要是不明白你发起一个写入和搜索请求的时候,es 在干什么,...
  • 本文主要从概念以及架构层面对Elasticsearch做一个简单的介绍,在介绍ES之前,会先对ES的“发动机”Lucene做一个简单的介绍 1. Lucene介绍 为了更深入地理解ElasticSearch的工作原理,特别是索引和查询这两个过程...

空空如也

1 2 3 4 5 ... 20
收藏数 1,576,674
精华内容 630,669
关键字:

search