我需要实现的是基于单个字段(产品名称,基本上由所有可能的筛选器值组成)来匹配文档。我知道这不是最可靠的解决方案,但我只有这一个领域可以使用。
我需要能够发送搜索查询,并将该查询中的单词以任何顺序匹配到name字段(名称应包含搜索查询中的所有单词)。实际上,在这一点上,简单的match_phrase_prefix
效果很好,但是那里缺少的是模糊。因为我们需要的另一件事是允许用户做一些拼写错误,并且仍然获得相关的结果。
我的问题是,有没有什么方法可以进行类似match_phrase_prefix的查询,但具有模糊性?
我尝试了一些带有match的嵌套bool查询,但是我没有得到任何接近< code>match_phrase_prefix的结果。
我尝试的例子:
相当好的结果,但没有模糊性:
{
"query": {
"bool": {
"must": [
{
"match_phrase_prefix": {
"name.standard": {
"query": "brand thing model",
"slop": 10
}
}
}
]
}
}
}
模糊性,但匹配非常有限:
{
"query": {
"bool": {
"must": [
{
"match": {
"name.standard": {
"query": "thing",
"fuzziness": "AUTO",
"prefix_length": 3
}
}
},
{
"match": {
"name.standard": {
"query": "brand",
"fuzziness": "AUTO",
"prefix_length": 3
}
}
}
]
}
}
}
使用上面的< code>should,我得到了更多的结果,但是它们远不如第一次查询得到的结果相关。
以上可以通过简单的匹配查询来实现
{
"query": {
"match": {
"name.standard": {
"query": "brand thing model",
"operator": "and" ,//It means all of above 3 tokens must be present in any order
"fuzziness": "AUTO" // value as per your choice
}
}
}
}
问题内容: 我正在执行模糊搜索,需要查看匹配的单词。例如,如果我正在搜索查询,并且它使该字段与句子匹配,则我需要能够知道匹配是由于单词引起的。 我尝试设置参数,但似乎未包含我需要的信息。有什么想法吗? 问题答案: 好吧,这就是我想要的: 经过一些研究,我发现了elasticsearch的突出功能。 默认情况下,它返回匹配项周围的上下文片段,但是您可以将片段大小设置为查询长度,以仅返回完全匹配项。例
我希望与字段中的字符串完全匹配,然后返回一天,提取所有此类记录。我所使用的json似乎也与简单的单词相匹配。我不确定我哪里出了问题。我需要向这个查询JSON添加吗?我目前拥有的JSON如下所示:
问题内容: 我正在使用SQL Server 2008 R2 SP1。 我有一张约有36034个客户记录的表。我正在尝试在“客户名称”字段上实施Fuzy搜索。 这是模糊搜索的功能 这是调用该函数的查询 这大约需要2分22秒,可以为我提供所有对象的模糊匹配百分比 我如何解决此问题以在不到一秒钟的时间内运行。关于我的功能的任何建议,以使其更强大。 预期输出为45.34、40.00、100.00、23.0
匹配查询用于实现以下情况的映射是什么 不区分大小写的搜索 数字搜索 特殊字符搜索 单字符搜索 > 我尝试使用通配符,但id不支持区分大小写 尝试使用小写规范化器匹配查询,它不支持特殊字符和单字符搜索 已尝试使用 ngram 匹配查询,但它不支持特殊字符和数字搜索。 任何人都可以帮助我的映射来支持上面提到的所有情况,无论是类型还是类型都很好
我不知道如何通过MatchPhrasePrefix搜索索引中的文档。我想匹配整个搜索词短语,但允许在最后一个词上加前缀。 这个LINQ建筑给了我1.0分的一切。我将如何构建这个?另一方面,是否可以查看NEST正在构建的原始查询?那将非常有帮助!
我已经完成了名称索引。它包含椅子、椅子等数据。 当我尝试用“cha”搜索时,它不会返回任何椅子。这是返回“毛毯”,我期待的文件有椅子。 下面是我的代码: 搜索请求: 搜索响应: } 映射: 我该怎么解决这个问题? 谢谢,Sri