创建门户网站博客网站源码带后台

当前位置: 首页 > news >正文

创建门户网站,博客网站源码带后台,青岛网页建站工具,怎么建设一个响应式网站Elasticsearch Intervals Query 返回基于匹配术语的顺序和接近度的文档。 intervals 查询使用 匹配规则#xff0c;这些规则由一小组定义构建而成。这些规则然后应用于指定 field 中的术语。 这些定义生成覆盖文本中术语的最小间隔序列。这些间隔可以进一步由父源组合和过滤…Elasticsearch Intervals Query 返回基于匹配术语的顺序和接近度的文档。 intervals 查询使用 匹配规则这些规则由一小组定义构建而成。这些规则然后应用于指定 field 中的术语。 这些定义生成覆盖文本中术语的最小间隔序列。这些间隔可以进一步由父源组合和过滤。 以下 intervals 查询返回包含 my favorite food没有任何间隔后跟 hot water 或 cold porridge 的文档。查询应用于 my_text 字段。 这个查询将匹配 my_text 值为 my favorite food is cold porridge但不匹配 when its cold my favorite food is porridge。 JSON复制 POST _search {query: {intervals : {my_text : {all_of : {ordered : true,intervals : [{match : {query : my favorite food,max_gaps : 0,ordered : true}},{any_of : {intervals : [{ match : { query : hot water } },{ match : { query : cold porridge } }]}}]}}}} } Intervals 查询的顶级参数 field 必需规则对象您希望搜索的字段。 此参数的值是一个规则对象用于基于匹配术语、顺序和接近度匹配文档。 有效的规则包括 match prefix wildcard regexp fuzzy range all_of any_of
match 规则参数 match 规则匹配分析过的文本。 query 必需字符串您希望在提供的 field 中找到的文本。 max_gaps 可选整数匹配术语之间的最大位置数。超过此距离的术语不被视为匹配。默认值为 -1。 如果未指定或设置为 -1则匹配没有宽度限制。如果设置为 0术语必须相邻。 ordered 可选布尔值如果为 true匹配术语必须按指定顺序出现。默认值为 false。 analyzer 可选字符串用于分析 query 中术语的分析器。默认值为顶级 field 的分析器。 filter 可选间隔过滤规则对象可选的间隔过滤器。 use_field 可选字符串如果指定则从此字段匹配间隔而不是顶级 field。术语使用此字段的搜索分析器进行分析。这允许您跨多个字段进行搜索就像它们是同一个字段一样例如您可以将相同的文本索引到词干和非词干字段中并搜索词干标记附近的非词干标记。
prefix 规则参数 prefix 规则匹配以指定字符集开头的术语。此前缀可以扩展以匹配最多 indices.query.bool.max_clause_count 搜索设置术语。如果前缀匹配更多术语Elasticsearch 将返回错误。您可以在字段映射中使用 index-prefixes 选项来避免此限制。 prefix 必需字符串您希望在顶级 field 中找到的术语的起始字符。 analyzer 可选字符串用于规范化 prefix 的分析器。默认值为顶级 field 的分析器。 use_field 可选字符串如果指定则从此字段匹配间隔而不是顶级 field。
wildcard 规则参数 wildcard 规则使用通配符模式匹配术语。此模式可以扩展以匹配最多 indices.query.bool.max_clause_count 搜索设置术语。如果模式匹配更多术语Elasticsearch 将返回错误。 pattern 必需字符串用于查找匹配术语的通配符模式。 此参数支持两个通配符操作符 ?匹配任何单个字符 匹配零个或多个字符包括空字符 analyzer 可选字符串用于规范化 pattern 的分析器。默认值为顶级 field 的分析器。 use_field 可选字符串如果指定则从此字段匹配间隔而不是顶级 field。
regexp 规则参数 regexp 规则使用正则表达式模式匹配术语。此模式可以扩展以匹配最多 indices.query.bool.max_clause_count 搜索设置术语。如果模式匹配更多术语Elasticsearch 将返回错误。 pattern 必需字符串用于查找匹配术语的正则表达式模式。 避免使用通配符模式如 .
或 .*?。这可能会增加找到匹配术语所需的迭代次数并降低搜索性能。 analyzer 可选字符串用于规范化 pattern 的分析器。默认值为顶级 field 的分析器。 use_field 可选字符串如果指定则从此字段匹配间隔而不是顶级 field。
fuzzy 规则参数 fuzzy 规则匹配与提供的术语相似的术语编辑距离由 Fuzziness 定义。如果模糊扩展匹配的术语超过 indices.query.bool.max_clause_count 搜索设置术语Elasticsearch 将返回错误。 term 必需字符串要匹配的术语。 prefix_length 可选整数创建扩展时保持不变的起始字符数。默认值为 0。 transpositions 可选布尔值指示编辑是否包括两个相邻字符的换位ab → ba。默认值为 true。 fuzziness 可选字符串允许匹配的最大编辑距离。参见 Fuzziness 以获取有效值和更多信息。默认值为 auto。 analyzer 可选字符串用于规范化 term 的分析器。默认值为顶级 field 的分析器。 use_field 可选字符串如果指定则从此字段匹配间隔而不是顶级 field。
range 规则参数 range 规则匹配包含在提供范围内的术语。此范围可以扩展以匹配最多 indices.query.bool.max_clause_count 搜索设置术语。如果范围匹配更多术语Elasticsearch 将返回错误。 gt 可选字符串大于匹配大于提供术语的术语。 gte 可选字符串大于或等于匹配大于或等于提供术语的术语。 lt 可选字符串小于匹配小于提供术语的术语。 lte 可选字符串小于或等于匹配小于或等于提供术语的术语。
all_of 规则参数 all_of 规则返回跨多个其他规则组合的匹配项。 intervals 必需规则对象数组要组合的规则数组。所有规则必须在文档中生成匹配项整体源才能匹配。 max_gaps 可选整数匹配术语之间的最大位置数。规则生成的间隔超过此距离的不被视为匹配。默认值为 -1。 ordered 可选布尔值如果为 true规则生成的间隔应按指定顺序出现。默认值为 false。 filter 可选间隔过滤规则对象用于过滤返回间隔的规则。
any_of 规则参数 any_of 规则返回其子规则生成的任何间隔。 intervals 必需规则对象数组要匹配的规则数组。 filter 可选间隔过滤规则对象用于过滤返回间隔的规则。
filter 规则参数 filter 规则基于查询返回间隔。有关示例请参见过滤器示例。 after 可选查询对象返回跟随 filter 规则间隔的间隔的查询。 before 可选查询对象返回在 filter 规则间隔之前发生的间隔的查询。 contained_by 可选查询对象返回被 filter 规则间隔包含的间隔的查询。 containing 可选查询对象返回包含 filter 规则间隔的间隔的查询。 not_contained_by 可选查询对象返回不被 filter 规则间隔包含的间隔的查询。 not_containing 可选查询对象返回不包含 filter 规则间隔的间隔的查询。 not_overlapping 可选查询对象返回不与 filter 规则间隔重叠的间隔的查询。 overlapping 可选查询对象返回与 filter 规则间隔重叠的间隔的查询。 script 可选脚本对象返回匹配文档的脚本。此脚本必须返回布尔值 true 或 false。
示例 以下查询包含一个 filter 规则。它返回包含 hot 和 porridge 且两者之间不超过 10 个位置的文档且两者之间没有 salty。 JSON复制 POST _search {query: {intervals : {my_text : {match : {query : hot porridge,max_gaps : 10,filter : {not_containing : {match : {query : salty}}}}}}} } 脚本过滤器 您可以使用脚本根据间隔的起始位置、结束位置和内部间隔数过滤间隔。以下 filter 脚本使用 interval 变量及其 start、end 和 gaps 方法 JSON复制 POST _search {query: {intervals : {my_text : {match : {query : hot porridge,filter : {script : {source : interval.start 10 interval.end 20 interval.gaps 0}}}}}} } 注意事项 最小化间隔 intervals 查询始终最小化间隔以确保查询可以在线性时间内运行。这有时会导致意外结果特别是在使用 max_gaps 限制或过滤器时。例如考虑以下查询搜索 hot porridge 中包含的 salty JSON复制 POST _search {query: {intervals : {my_text : {match : {query : salty,filter : {contained_by : {match : {query : hot porridge}}}}}}} } 此查询不会匹配包含 hot porridge is salty porridge 的文档因为 hot porridge 的匹配查询返回的间隔仅覆盖此文档中的前两个术语这些术语不与覆盖 salty 的间隔重叠。