如何访问OpenSearchServer数据库字段?

时间:2012-04-08 07:02:17

标签: database search-engine

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

1 个答案:

答案 0 :(得分:1)

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

<强>拼写检查

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

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

<强>自动完成

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

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

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