问题标签 [shingles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何同时使用同义词过滤器和瓦状过滤器?
我正在尝试使用带有shingle
过滤器的过滤synonym
器(请参见下面的代码)。这给了我输出:
强制执行
实施为
检查
考试测试
enforced
与 和一起出现的词与和implemented
相同。是否可以获得以下输出?testing
examination
强制执行
实施为
检查
用于检测
JSON 定义
search - 弹性搜索词邻近度
在弹性搜索中,有没有办法增加文档中查询词彼此接近的文档的分数?这不仅是关于单词在一起的问题,因为这可以通过使用 shingles 来解决,而且关于在其间可能存在另一个不重要单词的邻近单词。
例子:
文件1:
文件 2:
询问:
所以我想为第一个文档获得更高的分数,而为第二个文档获得更低的分数。
如果这些词紧挨着,我会使用带状疱疹和两三个词标记。然而,这种方法并没有考虑到彼此接近的单词。
elasticsearch - 简单查询搜索与带状疱疹兼容吗?
我想知道是否可以将带状疱疹与简单查询字符串查询一起使用。我对相关字段的映射如下所示:
分析器和过滤器定义如下:
我正在执行以下搜索:
现在,我有一个带有 text_2 = 的文档small red porsches
。由于我使用的是 AND 运算符,我希望我的文档不匹配,因为上面的查询应该产生一个“porsches small red”的瓦片,这是一个不同的顺序。但是,当我查看匹配说明时,我只看到单个单词标记“red”“small”“porsche”,当然匹配。
SQS 与带状疱疹不兼容吗?
search - Solr MultiPhraseQuery 未返回正确结果
我在为子字符串创建 Solr 搜索时遇到问题。例如,当用户搜索“Alfa Romeo Land Car”时,我只想匹配完整的品牌(只匹配“Alfa Romeo”,而不是“Land Rover”)。我尝试这样做的方法是从我的查询中创建带状疱疹,然后尝试与我的“汽车品牌”Solr 核心进行完全匹配。
因此,如果用户搜索“AB C”,我想获得带状疱疹 [A, AB, ABC, B, BC, C]。
但是当我使用下面的 Solr 配置时,当我搜索“AB C”(使用 EDisMax 或标准查询解析器)时,Solr 什么也不返回,但如果搜索“ABC”,我会得到匹配结果“ABC”。
这是我的 schema.xml 文件:
以下是我的 Solr 核心中的文档:
在 Solr 管理网页中,如果我转到“模式浏览器”,然后选择有问题的字段,然后按“加载术语信息”,我可以看到以下索引术语:
当我搜索“AB C”时,我想要以下带状疱疹 [ABC AB BC ABC] 但从调试查询中我得到:
我认为问题可能与MultiPhraseQuery有关。它创建了看似正确的带状疱疹,但似乎 Solr 不使用这些字符串进行搜索。有人知道我错过了什么吗?
非常感谢提前
solr - 如何将多个 solr 令牌连接成一个
在 Solr 中,当使用 solr.ShingleFilterFactory 合并令牌时,它可能会根据 min/maxShingleSize 和要合并的令牌生成多个 Shingle。因此,搜索失败。如何将多个令牌合并为一个以便我的搜索工作。这是我的设置:
这是查询 name_ngram 的调试输出:“our G20 9NS”
提前感谢,
elasticsearch - Elasticsearch 能否返回“成功”的模糊带状疱疹?
TL;博士
是否可以让 Elasticsearch 在模糊查询中返回匹配的输入-shingle 以及匹配的文档?
例子:
假设我有一个带状疱疹:
该木瓦用于自定义搜索分析器:
索引被分析为关键字,如下所示:
文件看起来像这样:
我们这样查询:
这将使用我们的 fulltext_shingle-analyzer 拆分查询,并将模糊度 1 应用于 shingle “John Smit”等。Elasticsearch 然后返回包含“John Smith”的文档,因为 Levenshtein-Distance 等于 1。
现在,是否可以让 elasticsearch 在匹配文档旁边返回模糊测试之前使用的 input-shingle,即“John Smit”?
我唯一能想到的就是从根本上反转查询,即在启用带状疱疹的情况下索引查询文档,然后以相同的模糊性查询原始输出(“John Smith”)。但这对我来说似乎是一个非常容易出错和浪费资源的麻烦。
solr - Solr Shingle 在调试查询中不可见
我正在尝试使用 Solr 在用户搜索中查找完全匹配的类别(e.g. "skinny jeans" in "blue skinny jeans")
。我正在使用以下类型定义:
该类型将索引类别而不进行标记,仅用下划线替换空格。但它将标记化查询并将它们组合在一起(带下划线)。
我想要做的是将查询带状疱疹与索引类别相匹配。在 Solr 分析页面中,我可以看到空格/下划线替换对索引和查询都有效,并且我可以看到查询被正确拼接(下面的屏幕截图):
我的问题是,在 Solr 查询页面中,我看不到正在生成带状疱疹,因此我认为“紧身牛仔裤”类别不匹配,但“牛仔裤”类别匹配:(
这是调试输出:
很明显,parsedquery 参数不显示 shingled 查询。我需要做什么才能完成将查询带状疱疹与索引值匹配的过程?我觉得我非常接近解决这个问题。任何建议表示赞赏!
java - Hadoop 中的 ClassNotFoundException
使用 Hadoop mapreduce 我正在编写代码来获取不同长度的子字符串。给定字符串“ZYXCBA”和长度为 3 的示例。我的代码必须返回所有可能的长度为 3 的字符串(“ZYX”、“YXC”、“XCB”、“CBA”),长度为 4(“ZYXC”、“YXCB”、 "XCBA") 最后长度为 5("ZYXCB","YXCBA")。
在地图阶段,我做了以下事情:
key = 我想要的子字符串的长度
值 = "ZYXCBA"。
所以映射器输出是
在reduce中,我使用字符串(“ZYXCBA”)和键3来获取长度为3的所有子字符串。4,5也是如此。结果收集在一个 ArrayList 中。
我正在使用以下命令运行我的代码:
我的代码如下所示::
它给出了以下错误:
请帮助我,提前谢谢你:)
elasticsearch - Elasticsearch shingle 令牌过滤器不起作用
我正在本地 1.7.5 elasticsearch 安装上尝试这个
我看到这个
我希望看到这样的东西
我错过了什么吗?
更新
我正在尝试这样的测试
java - hadoop mapreduce生成不同长度的子串
使用 Hadoop mapreduce 我正在编写代码来获取不同长度的子字符串。给定字符串“ZYXCBA”和长度为 3 的示例(使用文本文件,我将输入作为“3 ZYXCBA”)。我的代码必须返回所有可能的长度为 3 ("ZYX","YXC","XCB","CBA") 长度为 4("ZYXC","YXCB","XCBA") 最后长度为 5("ZYXCB ","YXCBA")。
在地图阶段,我做了以下事情:
key = 我想要的子字符串的长度
值 = "ZYXCBA"。
所以映射器输出是
在reduce中,我使用字符串(“ZYXCBA”)和键3来获取长度为3的所有子字符串。4,5也是如此。结果使用字符串连接。所以减少的输出应该是:
我正在使用以下命令运行我的代码:
我的代码如下所示:
reduce 的输出而不是返回
它回来了
即,它提供与映射器相同的输出。不知道为什么会这样。请帮我解决这个问题,并提前感谢您的帮助 ;) :) :)