Solr,
1.solr是Lucene面向企业搜索应用的扩展
2.Solr对外提供标准的http接口来实现对数据的索引的增加、删除、修改、查询
3.solr的基本配置都是一样,主要是对solr_home的配置,这里存放的都是每一个库特有的值
4.上传的xml文件中name需要对应schema.xml中的<field name="">,
5.在tomcat服务器中可以设置编码类型为UTF-8
6.schema.xml名词解释:
name:标识。type:fieldType定义的类型,可以自定义中文分次。
indexed=true|false:是否被用来建立索引(关系到搜索和排序)
stored=true|false:是否储存
compressed=true|false,是否使用gzip压缩(只有TextField和StrField可以压缩)
compressThreshold=压缩阀值
multiValued=true|false 是否包含多个值,即一个名字可以被多个document所用。
omitNorms=true|false这是个高级选项。设置为true,省略与这一field相关的规范(这将禁用长度规范化和索引时间权重( index-time boosting for the field),并节省一些内 存)。仅仅用在全文本field。
termVectors=false|true 如果设置为true,则包含了所有的term vector 信息。通常用的属性有:
termPositions=”true”:存储 term vector中的地址信息,会消耗存储开销。
termOffsets:存储 term vector 的偏移量,会消耗存储开销。
omitTermFreqAndPositions=true|false 如果设置,省略掉freq和term vector中的地址信息
omitPositions=true|false如果设置,省略掉term vector中的地址信息
default:如果没有属性需要修改,就可以用这个标识下。
7.页面查询字段解释
q:查询输入,必须。可以使用运算符,一般使用*:*,:左右都需要有
fq:过滤查询。可以使用运算符
sort:排序的字段,格式为field score,多个字段之间用逗号隔开,比如sum(x_f, y_f) desc, price asc,默认是score desc
start:从哪一行开始
rows:获取多少行
fl:查询要输出的字段,字段之间用逗号隔开,比如title,price,seller,星号代表所有,默认就是星号。
df:定义查询时默认的查询field。
wt:返回的数据类型,可以是JSON、XML、python、ruby、php、csv等格式。
indent:true/false,返回的XML格式是否需要缩进(格式化展示),默认为false
debugQuery:调试查询,会输出查询过程的一些参数。
7.
solrServer = new HttpSolrServer(ConfigUtil.getValue("solr.url"));
solrServer.setConnectionTimeout(5000);
SolrQuery query = new SolrQuery();
query.setQuery("title: 开发笔记^2 OR content:开发笔记");
QueryResponse rsp = null;
try {
rsp = solrServer.query(query);
} catch (SolrServerException e) {
log.error("Boost查询时遇到错误:", e);
}
SolrDocumentList docs = rsp.getResults();
Iterator<SolrDocument> iter = docs.iterator();
while (iter.hasNext()) {
SolrDocument doc = iter.next();
String idStr = doc.getFieldValue("id").toString();
int id = Integer.parseInt(idStr);
String title = doc.getFieldValue("title").toString();
String content = doc.getFieldValue("content").toString();
System.out.println("id:"+id+" title:"+title+" content:"+content);
}
data/chars.dic 是单字与语料中的频率,一般不用改动,1.5版本中已经加到mmseg4j的jar里了,我们不需要关心它,当然你在词库目录放这个文件可能覆盖它。
data/units.dic 是单字的单位,默认读jar包里的,你也可以自定义覆盖它,这功能是试行,如果不喜欢它,可以空的units.dic文件覆盖它。
data/words.dic 是词库文件,一行一词,当然你也可以使用自己的,1.5版本使用 sogou 词库,1.0的版本是用 rmmseg 带的词库。
data/wordsxxx.dic 1.6版支持多个词库文件,data 目录(或你定义的目录)下读到"words"前缀且".dic"为后缀的文件。如:data/words-my.dic。
9.数据导入
导入数据到Solr的方式也是多种多样的:
可以使用DIH(DataImportHandler)从数据库导入数据
支持CSV文件导入,因此Excel数据也能轻松导入
支持JSON格式文档
二进制文档比如:Word、PDF
还能以编程的方式来自定义导入
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。