我想请你帮忙。我想搜索一个词里面的标题和内容。下面是结构
'body' => array(
'mappings' => array(
'myindex' => array(
'_source' => array(
'enabled' => true
),
'properties' => array(
'Title' => array(
'type' => 'string',
'fields'=> array(
'raw' => array(
'type' => 'string',
'index' => 'not_analyzed'
)
)
),
'Content' => array(
'type' => 'string'
),
'Image' => array(
type' => 'string',
'analyzer' => 'standard'
)
)
)
)
)
查询字符串如下所示,我希望在类似“15-game”的文本中搜索“15-g”:
"query" : {
"query_string": {
"query": "*15-g*",
"fields": [ "Title", "Content" ]
}
}
请接受我的道歉,如果我重复的问题,但我无法找到发生了什么,为什么它没有返回任何结果。
我已经看过了:
提前谢谢你!
还将.raw
字段添加到内容
中,并在.raw
字段上进行搜索:
{
"query": {
"query_string": {
"query": "*15-g*",
"fields": [
"Title.raw",
"Content.raw"
]
}
}
}
在要搜索的文本中有空格并且希望该空格与字段匹配的任何地方,都需要对其进行转义(使用\
)。此外,当您有大写字母和通配符并且希望与.raw
字段匹配时,您需要将lowercase_expanded_terms
设置为false
,因为默认情况下该设置为true
,并且它将搜索字符串小写(它将搜索laptop-black
):
{
"query": {
"query_string": {
"query": "*Laptop\\ -\\ Black*",
"lowercase_expanded_terms": false,
"fields": [
"Title.raw",
"Content.raw"
]
}
}
}
问题内容: 我想寻求帮助。我想在标题和内容中搜索一个单词。这是结构 查询字符串看起来像这样,在这里我想在“ 15-game”之类的文本中搜索“ 15-g”: 如果我重复这个问题,请接受我的道歉,但我无法查明发生了什么,以及为什么它不返回任何结果。 但是我无法与我合作。 真正有趣的是,如果我搜索“ 15-g”(15个 空格 - 空格 g),它将返回结果。 提前非常感谢您! 问题答案: 也向您添加一个
我遵循了本教程,并为索引实现了以下内容:
问题内容: 弹性搜寻1.6 我想索引包含连字符的文本,例如U-12,U-17,WU-12,T恤…,并能够使用“简单查询字符串”查询来搜索它们。 数据样本(简体): 所以我去了这个映射: 使用以下查询进行搜索: 什么有效: “ U-12”,“ U ”,“ t ”,“ ts *” 什么不起作用: “ U-”,“ u-1 ”,“ t-”,“ t-sh ”,… 看来char过滤器未在搜索字符串上执行?我该
问题内容: 我想以查询其他字段的相同方式将多值字段的值查询为单独的“字段”。我有这样的数据结构: 我的查询如下所示: 仅当值包含我的整个查询时,“类型”和“运算符”才能完美匹配单个值字段。例如,查询“ foo two”不会返回匹配项。 我希望标签字段的行为相同。现在,查询“东西”将在不应该返回匹配项时返回匹配项,因为没有字段或标记值将两个单词都包含在一个值中。有没有办法做到这一点? 编辑 Val的
问题内容: 数据库:Sql Server 我有名为page_text的表列,其中包含以下值 “我喜欢stackoverflow.com,因为我可以随时发布问题并获得答案。” 我想使用 SQLQUERY 搜索 它的数量。因此,在该字符串中它将返回4。 我应该可以搜索任何东西。 问题答案:
问题内容: 我无法在Elasticsearch中以特殊字符结尾/开头的字符进行搜索。就像“ 123456!” 我的映射是 它给我错误,我可以在搜索查询(或映射)中做什么,以便特殊字符将被视为搜索字符串的一部分? 问题答案: 由于您的字段是(好!),请尝试用双引号引起来进行完全匹配: 这样做的另一种方法是在查询中设置分析器(但请务必转义,因为它是保留字符(对于操作员)