Solr4.6搜索有些字段搜索的时候不需要区分大小写。这个时候需要做简单的过滤,建索引和搜索的时候把输入都转换成小写即可。... 配置中使用的过滤器工厂类...LowerCaseFilterFactory的wiki定义如下: solr.LowerCaseFilterFactory Creates org.apache.lucene.analysis.LowerCaseFilter...意即,将每个token的字母小写化。不处理非字母的token。
、类型、大小、修改时间等多种条件进行搜索。...find的基本用法基本的find命令格式如下:find 路径 -name 文件名例如,要在当前目录及其子目录中查找名为“wljslmz”的文件,可以使用:find / -name wljslmz不区分大小写的搜索...locate进行不区分大小写的搜索locate命令支持不区分大小写的搜索,可以使用-i选项来实现:locate -i 文件名例如,要不区分大小写地查找“WLJSLMZ”,可以使用:locate -i WLJSLMZ...find进行不区分大小写的搜索find命令通过在文件名模式中使用-iname选项来实现不区分大小写的搜索:find 路径 -iname 文件名例如,要不区分大小写地查找“WLJSLMZ”,可以使用:find...Linux系统中使用locate和find命令进行不区分大小写的文件搜索。
语法在MongoDB中,我们可以使用/$regex/操作符来进行正则表达式查询。其中,$regex表示使用正则表达式进行查询,两个/之间的内容表示正则表达式的模式。...操作符在MongoDB中,我们可以使用以下操作符进行正则表达式查询:$regex:表示使用正则表达式进行查询;$options:表示正则表达式的选项,包括i表示不区分大小写、m表示多行匹配、s表示匹配包括换行符在内的所有字符...示例下面我们来看一些MongoDB正则表达式查询的示例:匹配特定字符串假设我们有一个名为users的集合,其中包含以下文档:{ "_id": 1, "name": "Alice"},{ "_id"...,可以使用正则表达式查询:db.users.find({ "name": { $regex: "a" } })该查询将返回所有名字中包含字母"a"的文档,包括Alice、Carol和Dave。...不区分大小写匹配如果我们想要查找名字中包含字母"a"或"e"的文档,不区分大小写,可以使用正则表达式的i选项:db.users.find({ "name": { $regex: "a|e", $options
大家好,又见面了,我是你们的朋友全栈君。 MongoDB的模糊查询可以使用 $regex 运算符通过正则表达式来进行匹配查询。 $regex :为查询中的模式匹配字符串提供正则表达式功能 。...({"name":{$regex:/XXX^/}}) 四、查询忽略大小写 db.member.find({"name":{$regex:/XXX/i}}) 这里的 i 就是指最上面语法中的那个...options 的值 i 是其的一个选项,代表忽略大小写的意思。...这里 options 还有以下几个选项供使用: 选项 描述 语法限制 i 不区分大小写以匹配大小写的情况。...如果没有此选项,这些锚点将在字符串的开头或结尾处匹配,如果模式不包含锚点或者字符串值没有换行符(例如\n),则该m选项无效。
如果预先知道应用程序的查询模式,那么应该对查询所访问的特定字段使用更有选择性的索引。 使用文本搜索来匹配字段内的单词 常规索引对于匹配整个字段值很有用。...如果你在Atlas服务中运行MongoDB,可以考虑使用Atlas全文搜索,它提供了一个与MongoDB数据库集成的完全托管的Lucene索引。...避免使用非左锚定或无根的正则表达式 索引是按值排序的。前导通配符效率较低,可能会导致全索引扫描。如果表达式中有足够的区分大小写的前导字符,那么后面跟随通配符通常效率可以比较高。...避免使用大小写不敏感的正则表达式 如果使用正则表达式的唯一原因是大小写不敏感,请使用大小写不敏感索引,因为这样更快。...MongoDB Atlas和Ops Manager通过Performance Advisor减少了这方面的工作,它监控执行时间超过100ms的查询,并自动对新的索引提出建议来提高性能。
如果这个查询匹配,那么将停止搜索并立即处理此请求。 ~ 为区分大小写匹配(可用正则表达式) !~ 为区分大小写不匹配 ~* 为不区分大小写匹配(可用正则表达式) !...~* 为不区分大小写不匹配 ^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。 示例 location = / { # 只匹配 / 查询。...} location / { # 匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。...} location ^~ /images/ { # 匹配任何以 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。 } location ~*....(gif|jpg|jpeg)$ { # 匹配任何以 gif、jpg 或 jpeg 结尾的请求。 } location ~*.
如果这个查询匹配,那么将停止搜索并立即处理此请求。...~ 匹配区分大小写的定的正则表达式 ~* 匹配不区分大小写的定的正则表达式 ^~ 类似于无修饰符的行为,也是以指定模式开始,不同的是,如果模式匹配, 那么就停止搜索其他模式了 !...~ 不匹配区分大小写的定的正则表达式 !~* 不匹配不区分大小写的定的正则表达式 示例 location = / { # 只匹配 / 的查询.... [ configuration A ] } location / { # 匹配任何以 / 开始的查询,但是正则表达式与一些较长的字符串将被首先匹配。 ...[ configuration B ] } location ^~ /images/ { # 匹配任何以 /images/ 开始的查询并且停止搜索,不检查正则表达式。
where name like '张/_小%' escape '/'; 这里表明/作为转义符,所以就可以在模糊查询中将通配符作为普通字符来搜索。...另外,因为左模糊查询效率低下,一般不推荐在应用中去使用。 除了以上通用的like和not like,在PostgreSQL中还有特殊的操作符用于模糊查询。...ilike和not ilike ilike表示在模糊匹配字符串时不区分大小写,i即是ignore的意思。 not ilike表示不模糊匹配字符串且不区分大小写。 ~和~*,!~和!...~* ~表示匹配正则表达式,且区分大小写。 ~*表示匹配正则表达式,且不区分大小写。...~是~的否定用法,表示不匹配正则表达式,且区分大小写。 !~*是~*的否定用法,表示不匹配正则表达式,且不区分大小写。 ~~和~~*,!~~和!~~* ~~等效于like,~~*等效于ilike。 !
~ 表示执行一个正则匹配,区分大小写匹配 ~* 表示执行一个正则匹配,不区分大小写匹配 !~ 区分大小写不匹配 !~* 不区分大小写不匹配 ^~ 即表示只匹配普通字符(空格)。...使用前缀匹配,^表示“非”,即不查询正则表达式。如果匹配成功,则不再匹配其他location。 @ 指定一个命名的location,一般只用于内部重定向请求。.../abcde # 不匹配正则表达式 ^/abcd$ 注意:对于一些对大小写不敏感的系统,比如 Windows ,~ 和 ~* 都是不起作用的,这主要是操作系统的原因。...4)~* 与 ~ 类似,但这个 location modifier 不区分大小写,pattern 须是正则表达式 server { server_name website.com; location...实例说明: 1)先来测试下区分大小写和不区分大小写的优先级.如下: location ~ /5b.txt { return 501 } location ~
虽然网上关于正则表达式的文章很多,就是感觉一直不得要领。于是决定花个时间,专门学习一下正则表达式。毕竟正则表达式几乎所有语言都支持,是一种通用且实用的技术。 ...而且不要因为它是一本书就觉得,可能需要花费很久时间去阅读,作者在书中也提到,本书一共十章每章差不到花费十分钟阅读即可,个人觉得花费半天到一天即可完成这本书的学习。 ...比如说,在JavaScript里,可选的g(意思是global,全局)标志将返回一个包含着所有的匹配结果数组。 2.1.2字母大小写问题 正则表达式是区分字母大小写的,所以Ben不匹配ben。...不过,绝大多数正则表达式的实现也支持不区分大小写的匹配操作。 2.2匹配任意字符 在正则表达式里,特殊字符(或字符集和)用来给出要搜索的东西。. 字符(英文句号)可以匹配任何一个单个的字符。...使用正则表达式\r\n\r\n进行的搜索将匹配两个连续的行尾标签,而那正是两条记录之间的空白行。
MongoDB的文档操作 在MongoDB中文档是指多个键及其关联的值有序地放置在一起就是文档,其实指的就是数据,也是我们平时操作最多的部分。 MongoDB中的文档的数据结构和 JSON 基本一样。...db.c1.findOne(); 返回名字为张三的第一条数据 db.c1.findOne({name:"张三"}) 正则查询 MongoDB中查询条件也可以使用正则表达式作为匹配约束。...语法格式:db.COLLECTION_NAME.find({字段名:正则表达式});、 可以实现模糊查询 查询name中存在三的文档对象 db.c1.find({name:/三/}); 或 db.COLLECTION_NAME.find...正则表达式格式:/xxx/ 正则选项: i - 不区分大小写以匹配大小写的情况。...b的文档对象 db.c1.find({name:/b/}) 查询时不区分大小写,只要包含b或B都能查询出来 db.c1.find({name:{regex: / b/, regex:/b/,regex:
文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。 MongoDB区分类型和大小写。 MongoDB的文档不能有重复的键。 文档的键是字符串。...也是mongodb下的一个内置工具,mongotop提供了一个方法,用来跟踪一个MongoDB的实例,查看哪些大量的时间花费在读取和写入数据。..."qiku""}}) 以上查询也可以写为: >db.posts.find({post_text:/qiku/}) 不区分大小写的正则表达式 如果检索需要不区分大小写,可以设置 $options 为 $i...以下命令将查找不区分大小写的字符串 qiku: >db.posts.find({post_text:{$regex:""qiku"",$options:""$i""}}) 集合中会返回所有包含字符串 qiku...实例如下: var name=eval(""/"" + 变量值key +""/i""); 以下是模糊查询包含title关键词, 且不区分大小写: title:eval(""/""+title+""/i"
where not regexp_like(value,'^[[:digit:]]+$'); -- 查询value中不包含任何数字的记录。...select * from fzq where regexp_like(value,'^[^[:digit:]]+$'); --查询以12或者1b开头的记录.不区分大小写。...select * from fzq where regexp_like(value,'^1[2b]','i'); --查询以12或者1b开头的记录.区分大小写。...默认值1. match_parameter:文本量,进一步订制搜索,取值如下: 'i' 用于不区分大小写的匹配。 'c' 用于区分大小写的匹配。...如果指定了多个互相矛盾的值,将使用最后一个值。如'ic'会被当做'c'处理。 省略该参数时:默认区分大小写、句点不匹配换行符、源串被看作一行。
上篇文章我们介绍了MongoDB的最基本的增删改查操作,也介绍了一些基础的概念,MongoDB中每条记录称作一个文档,这个文档和我们平时用的JSON有点像,但也不完全一样。...,没有日期类型,只有一种数字类型,无法区分浮点数和整数,也没法表示正则表达式或者函数。...本文我们就来说说MongoDB中都支持哪些数据类型,其实也是来看看BSON有哪些好玩的地方。...正则表达式 正则表达式主要用在查询里边,查询时我们可以使用正则表达式,语法和JavaScript中正则表达式的语法相同,比如查询所有key为x,value以hello开始的文档且不区分大小写: db.sang_collec.find...ObjectId使用12字节的存储空间,每个字节可以存储两个十六进制数字,所以一共可以存储24个十六进制数字组成的字符串,在这24个字符串中,前8位表示时间戳,接下来6位是一个机器码,接下来4位表示进程
模式匹配 如果在不设置全文搜索的情况下,如何过滤查询结果,您会选择哪种方法?...LIKE也许是最容易想到的: SELECT * FROM people WHERE name LIKE 'Sam%'; // name以“Sam”开头 也可以使用ILIKE进行忽略大小写的匹配: SELECT...SIMILAR TO和LIKE类似,但他使用SQL的正则表达式标准定义来进行匹配: SELECT * FROM people WHERE name SIMILAR TO '(Pat|Sam)%'; //...以Pat或Sam开头 如果喜欢POSIX风格的正则表达式,也可以使用诸如~(区分大小写)和~*(不区分大小写)之类的运算符: SELECT * FROM people WHERE name ~* '(...需要注意效率,只有在大规模操作时才在表的子集上进行这样的查询,否则可能需要设置全文索引进行搜索。但是在大多数情况下PG的正则表达式和模式匹配就可以了。
:'MongoDB 教程'}) 查询文档 • MongoDB通过collection对象的find()方法来查询文档,语法如下; db.collection.find(query, projection...= 50 • 条件查询,查询title为MongoDB 教程的所有文档; db.article.find({'title':'MongoDB 教程'}) • 条件查询,查询likes大于50的所有文档...().sort({likes:-1}) 索引 • 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。...• MongoDB使用$regex操作符来设置匹配字符串的正则表达式,可以用来模糊查询,类似于SQL中的like操作; • 例如查询title中包含教程的文档; db.article.find({title...:{$regex:"教程"}}) • 不区分大小写的模糊查询,使用$options操作符; db.article.find({title:{$regex:"elasticsearch",$options
搜索模式可用于文本搜索和文本替换。 什么是正则表达式? 正则表达式是由一个字符序列形成的搜索模式。 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。...实例: var patt = /runoob/i 实例解析: /runoob/i 是一个正则表达式。 runoob 是一个正则表达式主体(用于检索)。 i 是一个修饰符(搜索不区分大小写)。...search() 方法使用正则表达式 实例:使用正则表达式搜索 “Runoob” 字符串,且不区分大小写: var str = “Visit Runoob!”...正则表达式参数可用在以上方法中 (替代字符串参数)。正则表达式使得搜索功能更加强大(如实例中不区分大小写)。...正则表达式修饰符 修饰符可以在全局搜索中不区分大小写: 修饰符 描述 i 执行对大小写不敏感的匹配。 g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 m 执行多行匹配。
搜索模式可用于文本搜索和文本替换。 ---- 什么是正则表达式? 正则表达式是由一个字符序列形成的搜索模式。 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。...正则表达式可以是一个简单的字符,或一个更复杂的模式。 正则表达式可用于所有文本搜索和文本替换的操作。 语法 /正则表达式主体/修饰符(可选) 其中修饰符是可选的。...i 是一个修饰符 (搜索不区分大小写)。 ---- 使用字符串方法 在 JavaScript 中,正则表达式通常用于两个字符串方法 : search() 和 replace()。...---- search() 方法使用正则表达式 实例 使用正则表达式搜索 "Runoob" 字符串,且不区分大小写: var str = "Visit Runoob!"...; var n = str.search("Runoob"); replace() 方法使用正则表达式 实例 使用正则表达式且不区分大小写将字符串中的 Microsoft 替换为 Runoob : var
文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。 MongoDB 区分类型和大小写。 MongoDB 的文档不能有重复的键。 文档的键是字符串。...Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。 Object ID 对象 ID。用于创建文档的 ID。...Regular expression 正则表达式类型。用于存储正则表达式。...通常是机器主机名的散列值,这样可以确保不同主机生成不同的 ObjectId,不产生冲突。...这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。
领取专属 10元无门槛券
手把手带您无忧上云