solr更新索引: http://localhost:8080/solr/fare/dataimport?command=delta-import&commit=true&optimize=true
Solr 删除全部索引:http://localhost:8080/solr/update/?stream.body=<delete><query>*:*</query></delete>&stream.contentType=text/xml;charset=utf-8&commit=true
solr 删除指定ID的索引: http://localhost:8080/solr/update/?stream.body=<delete><id>1</id></delete>&stream.contentType=text/xml;charset=utf-8&commit=truedataconfig的结构不是一成不变的,entity和field元素中的属性是随意的,这主要取决于processor和transformer。
以下是entity的默认属性
一下是SqlEntityProcessor的属性
query (required) :sql语句
deltaQuery : 只在“增量导入”中使用
parentDeltaQuery : 只在“增量导入”中使用
deletedPkQuery : 只在“增量导入”中使用
deltaImportQuery : (只在“增量导入”中使用) . 如果这个存在,那么它将会在“增量导入”中导入phase时代替query产生作用。这里有一个命名空间的用法${dataimporter.delta.}详情请看solr1.4.
The handler 通过httprequest 向外界提供它的API . 以下是一些或许你会用到的操作
full-import : "完全导入"这个操作可以通过访问URL http://:/solr/dataimport?command=full-import 完成。
这个操作,将会新起一个线程。response中的attribute属性将会显示busy。
这个操作执行的时间取决于数据集的大小。
当这个操作运行完了以后,它将在conf/dataimport.properties这个文件中记录下这个操作的开始时间
当“增量导入”被执行时,stored timestamp这个时间戳将会被用到
solr的查询在“完全导入”时,不是阻塞的
它还有下面一些参数:
clean : (default 'true'). 决定在建立索引之前,删除以前的索引。
commit: (default 'true'). 决定这个操作之后是否要commit
optimize: (default 'true'). 决定这个操作之后是否要优化。
debug : (default false). 工作在debug模式下。详情请看 the interactive development mode (see here)
delta-import : 当遇到一些增量的输入,或者发生一些变化时使用` http://:/solr/dataimport?command=delta-import . 它同样支持 clean, commit, optimize and debug 这几个参数.
status : 想要知道命令执行的状态 , 访问 URL http://:/solr/dataimport .它给出了关于文档创建、删除,查询、结果获取等等的详细状况。
reload-config : 如果data-config.xml已经改变,你不希望重启solr,而要重新加载配置时,运行一下的命令http://:/solr/dataimport?command=reload-config
abort : 你可以通过访问 url http://:/solr/dataimport?command=abort 来终止一个在运行的操作
<entity name="TestEntity" dataSource="dsSqlServer" pk="Id" query="SELECT Id,Title,Author,Content,Url,AddOn FROM Test WHERE Id>=${dataimporter.request.offset} And Id<=${dataimporter.request.offset}+10000" >
同时运用注意, '${dataimporter.request.clean}' != 'false' OR last_modified > '${dataimporter.last_index_time}' 这个条件放在其他条件之后
全量导入 使用命令dataimport?command=full-import&clean=true
增量导入使用dataimport?command=full-import&clean=false
这样处理后全量和增量共用一条一句,极大的提高了查询速率
【LIKE-模糊】:id:*111* 查找ID中含有111的项(与like同)
【IN-多值】id:(1 2 3 4) 查找ID为1,2,3,4的项(与in同)
【BetweenAnd-范围】id:[1 TO *] 查找ID大于等于1的项(与between and同 TO可省略) "Fields:['2013-01-01' TO '2014-01-01']"