solr in Action 中文1.4 Feaures overview

1.4特性概述

最后,让我们快速简述一下solr的主要功能特性,围绕以下类别:

          1.用户体验

          2.数据建模

          3.solr4新特性

让你的搜索方案提供一个好的用户体验,是贯穿全书的核心主题。现在让我们开始看看solr怎样让你的用户更舒服

1.4.1 用户体验 特性

Solr提供一批重要特性,帮你提供一个好用的,直观的,强大的搜索方案。你应该注意的是,solr仅仅对外暴露一个类似rest风格的http接口,但是没有提供搜索相关的UI组件。你应该卷起你的袖子亲自动手开发你自己的搜索UI组件,利用下面这些用户体验特性:

         1.分页和排序

         2.分类

         4.自动补全(autosuggest)

         5.拼写检查

         6.高亮

         7.空间位置搜素(Geospatial search)

分页和排序

 比起返回所有匹配结果文档,solr做了优化,提供分页,其中只有第一页前N条记录返回。如果用户在第一页每找到想要的东西,你可以请求随后的页。分页带来两个关键好处:(1)结果返回更快(2)帮你跟踪多少查询结果在更多的页面的请求,这可能是一个关联性评估问题的指示,你可以在第七章学习分页和排序

分类

分类帮助用户用工具细化他们的搜索标准,把结果分成有用的分组有助于发现更多信息,在我们的房地产例子中,我们可以看到很多查询结果按照三个标准分组:特征,房屋风格,上市型,分类是solr中最强大,最受欢迎的特性之一,我们在第八章中深入讨论

自动补全

大多数用户都希望你的搜索应用做正确的事情,即使他们提供的是不全的信息,自动补全可以让用户看建议列表。这减少很多不正确的查询,很多情况下,手机用户输入少量的词就开始搜索。

自动补全给用户在索引中可用词组的例子,在我们房地的例子,当用户打出hig..  solr能返回一些建议,比如“highlands neughborhood” or "highlands ranch" 我们将在第十章,介绍自动补全

拼写检查

在移动设备和外出的人,拼写校正的支持是必不可少的.再次,用户希望搜索引擎处理拼写错误.solr的拼写检查支持两种基本的模式:

       (1)“自动更正”——Solr可以自动纠正拼写错误拼写的词,根据是否在索引里存在。

       (2)你的意思是——Solr可以返回一个建议查询可能会产生更好的结果,你可以显示一个提示你的用户,如“你的意思是高地?“如果你的用户输入hilands。

拼写校正改造在Solr 4易于管理和维护;我们将在第十章详细讲解

高亮

当搜索文件,文本量很大,可以在每个文档的特定部分使用Solr的高亮特性。长格式的文件非常有用,可以帮助用户找到相关的文件打突出的突出部分的搜索结果,匹配用户的查询。高亮部分是以他们查询的相似性为基础动态生成的,我将在第九章详细讲解。

空间位置搜素

空间搜索是一流的概念在solr 4中,因为它具有内置的支持对于索引纬度和经度值以及按照空间排序或排序文件,Solr可以按照地理位置的距离查找和排序记录,在房地产例子中,匹配房源都显示在用户使用的交互式地图,地理空间搜索,可以缩放和移动地图的中心点寻找附近的房源。

另一个令人兴奋点是除了Solr 4是可以索引的地理形状如多边形,它可以让你找到文件,相交的地理区域。这很有用如果你想找一个房屋列表,在特殊的社区用一个具体的地理位置,我们将在15节中详细介绍。

1.4.2数据模型的特性

正如我们在第一节中介绍的那样。solr是用来优化特定类型的数据,在这一节我们我们提供一个关键特性的概述,帮助你建模数据,用于搜索

         1.结果分组/值域折叠

          2.支持灵活的查询

          3.连接查询

          4.文档聚类

          5. 导入丰富的文档格式,比如PDF和Word

          6.从关系数据库中导入数据

          7.多语言支持

 结果分组/值域折叠

尽管solr需要一个平的,非结构化的文档,solr允许你把多个文档是基于一些共同的属性组中的所有文件共享一组。结果分组,也被称为值域折叠,让你返回唯一的群组而不是单个文档的结果。

这类型的经典例子是电子邮件,匹配插件结果的邮件可以被分为一组。你可以在第11节学习到结果分组,值域折叠

支持灵活的查询

solr支持大力强大的查询特性

        (1).条件逻辑    AND    OR  and  NOT

        2.通配符匹配

        3.范围查询日期和数字

        4.短语查询,内容之间的距离

        5.模糊字符串匹配

        6.正则表达式匹配

        7.函数查询

我们将在第7章介绍着内容

连接查询

在sql中,你可以用join 创建一个关系靠从两个或更多的表里,用一个公共管的属性比如外键。在solr中,连接查询更像是Sql里的子查询,在这个查询中,你可以用连接两个文档进行查询,你可以返回符合搜索标准的子文档。连接查询的一个例子是返回所有的推特转发消息到一个单一的响应,我们会在第15节详细讲解连表查询

文档聚类

文档聚类可以让你识别相似的文档组,基于目前每个文件的条件,这个避免了返回结果包含很多相同信息的文档。例如,如果你的搜索引擎是基于新闻文章从多个RSS拉取,很有可能你会有对于同一新闻故事很多文件,你可以使用聚类选择一个代表性的故事,而不是返回所有相同故事。在第16节介绍文档聚类技术

导入丰富的文档格式,比如PDF和Word

略......

从关系数据库中导入数据

如果你想搜索Solr的数据是在一个关系数据库,你可以使用一个SQL查询配置Solr创建文件,在第12章讨论这个技术

多语言支持

略........

猜你喜欢

转载自limeng650419.iteye.com/blog/2221476
今日推荐