lucene solr mysql_solr和Lucene的配置方式和应用

solr字段类型

说明

BinaryField

二进制数据

BoolField

布尔值,其中’t’/’T’/’1’都是true

CollationFiled

支持Unicode排序

CurrencyField

支持货币和汇率

DateRangeFiled

支持索引date range

ExternamFiledFiled

pull磁盘上的文件

EnumField

支持定义枚举值

ICUCollationField

支持Unicode排序

LatLonType

支持经度、纬度坐标

PointType

支持任意的n维向量,可以用于检索CAD图数据

PreAnalyzedField

用于支持序列化数据

RandomSortField

结果随机排序

SpatialRecursivePrefixTreeFieldType

支持经纬度字符串或WKT格式

StrField

字符串,不分词,并且小于32k

TextField

文本字段,既分词又索引

TrieDateField

日期类型字段

TrieDoubleField

双精度类型字段

TrieField

使用时必须指定”type”属性(integer,long,double,date)

TrieFloatField

单精度类型字段

TrieIntField

整数字段

TrieLongField

长整形字段

UUIDField

Universally Unique Identifier通用唯一识别码

Date fields

precisionStep="6" positionIncrementGap="0"/>

当你要用到日期的范围查询时,最好用这样的数据类型,而且在提交文档时日期的格式有特别要求,日期里有T,Z字符,比如有个timestamp字段设置为tdate类型了,那么提交时应该

...

2012-05-22T09:30:22Z

...

不需要查询精确到分秒级别时

2016-05-22T09:30:22Z/HOUR

域类型的定义说明(fieldType)

一个solr自带的域类型

打开自己配置的SolrCore的collection1\conf\schema.xml

自定义Field(域)

打开自己配置的SolrCore的collection1\conf\schema.xml

添加以下内容,就可以使用这个域了

copy域

运用领域:

name:nikeT恤

描述:一件运动T恤

当需要只搜索一次两个域的任意内容时,

就能把两个东西都搜索出来的时候

就把多个域放到一个拷贝域里面

查询

过滤条件查询

product_price:[1 TO 10]

过滤查询价格从1到10的商品

也可以使用“*”表示无限,例如:

20以上:product_price:[20 TO *]

20以下:product_price:[* TO 20]

降序升序查询

product_price desc

product_price asc

更新/修改

{"id":"change.me","title":"change.me"}

删除

根据id删除

change.me

### 条件删除

id:change.me

多值字段

必须先定义 multiValued="true" 的类型的域才可以插入多值

{"id":"change.me","title":"6666,777,888"}

定义中文分词器

1 把IKAnalyzer2012FF_u1.jar拷贝到\webapps\solr\WEB-INF\lib下

2 把ik分词器的3个配置文件拷贝到webapps\solr\WEB-INF\classes下

3 在schema.xml中添加自定义分词器

导入

批量导入SQL的数据

1.在自定义的solrcore\collection1\lib下面添加dataimport插件依赖的jar和sql的驱动jar

2.根据数据库字段,字段类型等,在中定义字段在solr中存在的形态,比如是否索引,是否分词等

3.在collection1\conf\下的solrconfig.xml文件,添加一个requestHandler

class="org.apache.solr.handler.dataimport.DataImportHandler">

data-config.xml

4.创建一个data-config.xml,保存到collection1\conf\目录下

driver="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3306/solr"

user="root"

password="root"/>

5.重启Tomcat,进入solr主页 ,选中SolrCore,就是collection1,查看DataImport点击Execute执行导入,导入后可在query里面查看

solr实例(solrcore)截图和solr服务器截图

一个solrhome可以包含多个solecore就是多个collection1

429b852f39f4f579dbd2b845250c9005.png

9a6621429f4f83c6e4eceab8af7f89fb.png

solrj

solrj是java客户端访问solr服务的工具,可以在java代码中实现搜索

参考自己写的一个demo:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值