当前位置: 首页 > 知识库问答 >
问题:

Elasticsearch用逗号匹配名字

姬俊远
2023-03-14

我在搜索包含逗号的名字时遇到了麻烦。例如,搜索'John Smith'不会返回'Smith,John'。

我的name字段被索引为textfield,我的搜索查询如下所示:

s = s.query("multi_match", query=query, type='phrase', phrase_slop=1, fields=['name', 'title'])

我添加了短语slop=1,以便在搜索“John Smith”时成功匹配像“John D Smith”这样的名字。但是如何修改查询以匹配带有逗号的名称呢?

共有1个答案

慕阳伯
2023-03-14

这是来自elasticsearch参考。也许会有帮助。这种问题通常与创建索引时如何设置分析器有关。我建议在控制台UI中测试索引设置和查询。

 类似资料:
  • 我有一个字符串: 我想匹配花括号外的所有逗号。 我想要的输出是: 我尝试了: 但输出不同: 谢谢你。

  • 我想同时执行精确的单词匹配和部分单词/子字符串匹配。例如,如果我搜索“test product”,那么我应该能够在结果中找到“test”和“product”相关的文本。我用下面的match查询搜索弹性搜索,它不是给我精确的匹配,而是给我一些更多的不确定的匹配。示例是在结果中给出与“sample”相关的文本。 我使用弹性搜索6.3 请在下面找到我的查询 搜索结果:“Hits”:[{“_index”:

  • 我和ElasticSearch一起工作。当我执行此查询时: 我得到了我想要的(所有的结果,其中有参考黑莓,但不是Q10)。 但是,我想限制搜索的字段只限于“title”字段。例如,_source文档有标题、正文、标签等,我只想搜索标题。ElasticSearch“匹配”似乎很适合我... 虽然这只成功地搜索了标题,但它仍然返回标题中带有Q10的结果,这与上面的搜索不同。 我正在看比赛文档,但似乎不

  • 我需要一个. Net(C#)正则表达式来匹配逗号分隔的数字列表,如果有逗号作为最后一个字符,这些数字将不匹配 我已经找到了这个Regex但是当结尾有逗号时匹配 什么是符合这种模式的正则表达式模式? 编辑:为清晰起见添加了1个示例,正确答案适用于

  • 问题内容: 我想在一个字段中搜索“ vision”项目,但是通过在DSL中使用match / match_phrace / term,我只得到了“ vision A”,“ vision B”,“ xx版本”,“ vision”等结果。 我想要的是精确匹配“视觉”应该获得最高分,而包含“视觉”的项目应该排在精确匹配之后。排名应该是: 我检查了Elasticsearch匹配精确术语其中识别出将“索引”

  • 问题内容: 我有一个类似于以下内容的字符串: 我想创建一个与逗号匹配的正则表达式,但只匹配不在括号内的逗号(在上面的示例中,除23和45之后的两个逗号之外,所有其他逗号)。我将如何做(如果使用Java正则表达式会有所不同)? 问题答案: 假定没有嵌套的括号(否则,你不能使用Java Regex来完成此任务,因为不支持递归匹配): 此正则表达式使用否定的超前断言来确保下一个括号(如果有)不是闭合括号