【问题标题】:How do I access OpenSearchServer database fields?如何访问 OpenSearchServer 数据库字段?
【发布时间】:2012-08-31 20:36:33
【问题描述】:

我正在使用 OpenSearchServer v1.2.4。我想访问 OpenSearchServer 数据库字段,如“自动完成”或拼写检查等。我该怎么做? OpenSearchServer api 仅通过 XML 提供标题、元、url 字段和其他一些字段。请建议我查询/搜索模式以获取自动完成字段。

【问题讨论】:

    标签: database search-engine


    【解决方案1】:

    您可以通过编辑查询轻松控制返回的字段。为此,请转到查询选项卡面板。

    拼写检查

    要激活拼写检查,请编辑“搜索”查询并转到拼写检查选项卡面板。 如果您使用的是 Web 模板,请使用“contentExact”或“titleExact”字段。拼写检查模块将通过提取该字段中存在的单词来构建字典。共有三种算法可用:Levensthein、Jaro-Winkler、NGramDistance。

    一旦您设置了拼写检查设置并保存了查询,您就可以使用 XML over HTTP API 来使用它。大多数时候,XML 将包含拼写检查建议。您必须决定何时向用户显示建议。当搜索没有返回文档时,您可以显示建议。

    自动完成

    “自动完成”字段的作用是收集索引文档(网页)中可用的所有表达式。

    这是构建自动完成功能的常用方法:

    • 使用以下字段创建一个新的空索引:
      • 表达式:索引,存储,分析器描述器在下一点。
      • freq:已编入索引,未存储。
    • 为表达式字段创建一个文本分析器,使用以下参数:
      • 标记器:标准标记器
      • 在过滤器列表中,添加:
        • 小写过滤器
        • 一个 EgdeNGramFilter(最小克大小:1 - 最大克大小:50 - 边缘:正面)
    • 创建调度程序作业。它将定期使用收集的表达式填充新索引(例如:每天一次)。典型的任务和参数是:
      • 添加“删除查询”任务:查询:
      • 添加“提取条款”任务:
        • 源字段名称:自动完成
        • 索引来源:网络索引的名称
        • 术语字段名称:表达式
        • 频率字段名称:freq
        • 最小频率:1
        • 频率键盘:9
      • 添加“索引 - 优化”任务。
    • 使用以下参数创建一个新请求:
      • 模式查询:表达式:($$)
      • 返回字段:表达式
      • 排序字段:频率降序,分数降序
    • 使用新查询集成自动完成用户界面。

    【讨论】:

    • 您能否给我推荐一些拼写检查的示例查询。我应该为自动完成条款启动一个新的爬虫吗?以及已经编入索引的自动完成词呢?
    • 我应该创建一个空索引吗?为此?
    • 我添加了更多细节。您可以查看 OpenSearchServer 免费 30 天试用支持。我认为您需要不到 30 天的时间才能成功!
    • scheduler job 的示例。 analyzer 的一个例子
    • 对不起!但它不起作用。查询模板返回 0 个文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多