Marklogic search development -1.Developing Search Applications in MarkLogic Server
来源:互联网 发布:小型图书馆源码 编辑:程序博客网 时间:2024/04/18 09:39
1. Developing Search Applications in MarkLogicServer
1.1 Overview of Search Features in MarkLogic Server
1. Search API Library Module
Marklogic提供Search API Library Module这个是marklogic提供出来的API基于cts:seach。
这个search API可以支持所有normal的case
2. Capablity
Marklogic可以支持100TB的数据查询服务。
3. Built-In Search Functions in the cts and xdmpNamespaces
Marklogic的核心search功能是基于cts和xdmp的xquery search的全文搜索。Marklogic可以scale支持到100TB甚至更大的数据库。而cts search都是直接hint到database的no matter数据库有多大。
Marklogic在进行document的加载过程中,同时进行full-text index的处理,因此可以提供高效的search功能。诸如xdmp:estimate以及searchoption中的unfilter都是直接从index db中返回结果,从而提升performance。
这些内建的search功能,诸如: cts:search, cts:word-query, cts:element-value-query等都是可扩展的,比如你看到的search API(search:search)即是基于此进行的扩展。当然你可以自行定义自己的扩展。
4. Full XPath Search Support
Marklogic支持实现Xquery,Xquery是基于Xpath的,Xpath表达式可以在整个database间进行执行。
XPath使用到index database,而且是设计为高性能。
5. Lexicon and Range Index-Based APIs
Rangindex用来设置xml文档中node value或者attribute value。每一个range index会有一个相应的lexicon API。Lexicon API工作在Index database上,直接由index db返回结果。这个lexicon对于facet非常有用。
如:我们设计xml文档结构,其中包含一个node,这个node的value定义company信息。当不同文档隶属于不同的company上传到marklogic后,我们有类似如下需求:将所有文档按照company进行categray。
针对这种需求,我们可以针对该xml结构为company node设计rangeindex。后期,你可以使用lexicon API高性能的获取company document的分类信息。
Rangeindex就是用来设计采用xml结构中那个node,attribute做为index,而lexicon API是工作在这类index结果之上的search API。
Search:searchAPI在lexicon API上也同样做了封装扩展。
6. Stemming, Wildcard, Spelling, and Much MoreFunctionality
Stemming
Wildcardedsearches,
Diacritic-sensitive/insensitivesearches
Case-sensitive/insensitivesearches,
Spelling correctionfunctions
Thesaurus functions
Geospatial searches
Advanced language
Collation support
7. Alerting API and Built-Ins
你可以通过预先设置查询条件,alert API基于cts:query或cts:reverse-query对新loading文档进行filter,从而按照你设计的process(module/script)执行。
Marklogic支持SMTP邮件服务,因此你可以透过邮件通知你的客户。(是否可以直接发起http请求从而触发SMS服务用短信通知用户?)
你可以基于Alert API搭建大型的alerting application。
- Marklogic search development -1.Developing Search Applications in MarkLogic Server
- Marklogic search development
- Marklogic search development -2.3Search Term Completion Using search:suggest
- Marklogic search development -2.1Understanding the Search API
- Marklogic search development -2.4Creating a Custom Constraint
- Marklogic search development -2.2Controlling the Search With the Options Node
- Marklogic wildcard search(通配符搜索)笔记
- Marklogic学习 由浅入深(2)—— 安装Marklogic Server
- MarkLogic 初学
- Developing Windows Applications in C++
- Marklogic学习 由浅入深(5)-- Marklogic概念解析
- Marklogic学习 由浅入深(B)—— Marklogic vs. Hadoop
- Marklogic学习 由浅入深(D)—— Marklogic vs. Oracle
- Search Driven Development
- Developing Crystal Reports applications in PowerBuilder .NET
- Developing Web Applications for WebLogic Server
- Elastic Search Search in Deepth
- MarkLogic中的Score和Relevance (一)
- jquery, json与ashx的完美结合
- 修改Eclipse启动图标
- 矩阵算法模板
- xml 转xsd->xsd转c,c++
- 判断两个对象是否是同一个对象 | Equals | ReferenceEquals |== | string 类是一个特殊的类
- Marklogic search development -1.Developing Search Applications in MarkLogic Server
- Ajax长连接
- Objective-C ,ios,iphone开发基础:自定义控件:Eg: UIButton
- HDU_4701_Game
- 实现FusionChart动态获取数据(二)
- 关系模型的基本概念
- N个筛子,掷出M值的可能性
- 2013.8.25
- wikioi p1166 矩阵取数游戏