使用IBM OmniFind Enterprise Edition结合分类词典文件实现基于搜索结果分类
2010-02-16 14:59:56 来源:WEB开发网使用自创建语义搜索引擎进行搜索
在使用IBM OmniFind Enterprise Edition 进行语义搜索之前,我们需要创建一个IBM OmniFind Enterprise Edition CAS 来建立一个index mapping。由于IBM OmniFind Enterprise Edition是在文本解析阶段对内容进行语义分析的,因此在建立关键字索引的同时,需要将已经语义分析后建立的语义索引加入到关键字索引当中,因此就需要我们根据之前建立的描述文件 WFJDescriptor.xml,手动创建一个XML文件来进行 index mapping。该文件会将语义分析索引自动 mapping 到IBM OmniFind Enterprise Edition 关键字索引当中,当用户进行查询时,会在搜索到的文档概要的属性信息中,查看到进行语义分析后建立的语义索引的分类,并可以根据分类的类名结果特定搜索语句进行查询。以下会详细介绍实现的过程:
编写index mapping 所需要的XML文件,该文件对应的特定的schema文件是ES_INSTALL_ROOT/packages/uima/configuration_xsd 目录中的CasToIndexMapping.xsd文件,可以通过该文件,查看到所要编写的index mapping XML的结构和内容模式,在本例中我们根据描述文件 WFJDescriptor.xml,所创建的用于index mapping的XML文件为 WFJDescriptorCasToIndex.xml,其内容如清单4 所示:
清单4. 用于index mapping的WFJDescriptorCasToIndex.xml
<?xml version="1.0" ?> <indexBuildSpecification xmlns="http://www.ibm.com/of/822/consumer/index/xml"> <indexBuildItem> <name>com.ibm.uima.shop</name> <indexRule> <style name="Annotation"> <attribute name="fixedName" value="shop"/> <attributemappings> <mapping> <feature>/Name</feature> <indexName>Name</indexName> </mapping> </attributemappings> </style> <style name="Field"> <attribute name="fixedName" value="Shop" /> <attribute name="valueFeature" value="Name" /> <attribute name="parametric" value="true" /> <attribute name="returnable" value="true" /> <attribute name="fieldSearchable" value="true" /> </style> </indexRule> </indexBuildItem> <indexBuildItem> <name>com.ibm.uima.restaurant</name> <indexRule> <style name="Annotation"> <attribute name="fixedName" value="restaurant"/> <attributemappings> <mapping> <feature>/Name</feature> <indexName>Name</indexName> </mapping> </attributemappings> </style> <style name="Field"> <attribute name="fixedName" value="Restaurant" /> <attribute name="valueFeature" value="Name" /> <attribute name="parametric" value="true" /> <attribute name="returnable" value="true" /> <attribute name="fieldSearchable" value="true" /> </style> </indexRule> </indexBuildItem> </indexBuildSpecification>
我们需要在OmniFind中加载 WFJ_UIMA.pear 语义分析引擎:
首先,我们使用浏览器访问 IBM OmniFind Enterprise Edition enterprise search的administration console 界面 http://<OFServerName>/ESAdmin
,登录成功后,单击System 标签,之后在页面中单击System -> Data Listener后的Edit 按钮,再单击下方的Parse 标签,并选择单击Configure text analysis engines 选项,如图 18 所示:
图 18. 配置文本分析引擎
更多精彩
赞助商链接