我正在使用 OpenSearchServer v1.2.4。我想访问 OpenSearchServer 数据库字段,如“自动完成”或拼写检查等。我该怎么做?OpenSearchServer api 仅通过 XML 提供标题、元、url 字段和其他一些字段。请建议我查询/搜索模式以获取自动完成字段。
问问题
559 次
1 回答
1
您可以通过编辑查询轻松控制返回的字段。为此,请转到查询选项卡面板。
拼写检查
要激活拼写检查,请编辑“搜索”查询并转到拼写检查选项卡面板。如果您使用的是 Web 模板,请使用“contentExact”或“titleExact”字段。拼写检查模块将通过提取该字段中存在的单词来构建字典。有三种可用算法:Levensthein、Jaro-Winkler、NGramDistance。
一旦您设置了拼写检查设置并保存了查询,您就可以使用 XML over HTTP API 来使用它。大多数时候,XML 将包含拼写检查建议。您必须决定何时向用户显示建议。当搜索没有返回文档时,您可以显示建议。
自动完成
“自动完成”字段的作用是收集索引文档(网页)中可用的所有表达式。
这是构建自动完成功能的常用方法:
- 使用以下字段创建一个新的空索引:
- 表达式:索引,存储,分析器描述器在下一点。
- 频率:索引,不存储。
- 使用以下参数为表达式字段创建文本分析器:
- 分词器:标准分词器
- 在过滤器列表中,添加:
- 小写过滤器
- 一个 EgdeNGramFilter(最小克大小:1 - 最大克大小:50 - 边缘侧:前)
- 创建一个调度器作业。它将定期使用收集的表达式填充新索引(例如:每天一次)。典型的任务和参数是:
- 添加“删除查询”任务:查询::
- 添加“Pull terms”任务:
- 源字段名称:自动完成
- 索引来源:网络索引的名称
- 术语字段名称:表达式
- 频率字段名称:freq
- 最小频率:1
- 频率垫:9
- 添加“索引 - 优化”任务。
- 使用以下参数创建一个新请求:
- 模式查询:表达式:($$)
- 返回字段:表达式
- 排序字段:频率降序,分数降序
- 使用新查询集成自动完成用户界面。
于 2012-04-08T10:21:49.317 回答