我想寻求帮助。我想在标题和内容中搜索一个单词。这是结构
'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" ]
}
}
如果我重复这个问题,请接受我的道歉,但我无法查明发生了什么,以及为什么它不返回任何结果。
但是我无法与我合作。
真正有趣的是,如果我搜索“ 15-g”(15个 空格 - 空格 g),它将返回结果。
提前非常感谢您!
也.raw
向您添加一个字段,Content
然后在这些.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”: 请接受我的道歉,如果我重复的问题,但我无法找到发生了什么,为什么它没有返回任何结果。 我已经看过了: 提前谢谢你!
问题内容: 弹性搜寻1.6 我想索引包含连字符的文本,例如U-12,U-17,WU-12,T恤…,并能够使用“简单查询字符串”查询来搜索它们。 数据样本(简体): 所以我去了这个映射: 使用以下查询进行搜索: 什么有效: “ U-12”,“ U ”,“ t ”,“ ts *” 什么不起作用: “ U-”,“ u-1 ”,“ t-”,“ t-sh ”,… 看来char过滤器未在搜索字符串上执行?我该
问题内容: 因此,这是我编写的用于查找单词内回文的代码(以检查单词内是否包括单词本身在内的回文)条件:字符之间的空格已被计算并且不被忽略示例:A但大号是回文,但从技术上讲是应有的现在所涉及的空间不是。这就是标准。 基于上面的内容,以下代码通常应该起作用。您可以自己尝试不同的测试,以检查此代码是否提供任何错误。 这是已废止的版本。我的意思是,我试图从中间开始,并从头开始进行迭代,并通过检查字符是否相
问题内容: 我正在发送此请求 我得到正确的结果 但是当我想按单词部分搜索时,例如 我没有得到任何结果: 我究竟做错了什么? 问题答案: 这是因为您的字段可能已由标准分析器(默认设置)进行了分析,并且标题已被标记为三个标记,并且。 为了搜索单词的任何子串,您需要创建一个自定义分析器,该分析器利用ngram令牌过滤器来索引每个令牌的所有子串。 您可以这样创建索引: 然后,您可以重新索引数据。这将使标题
问题内容: 我有一个产品目录,正在使用Elastica客户端在ElasticSearch中建立索引。我是ElasticSearch BTW的新手。 我的目录中有一些名称相同的产品。但是,如果输入,它们将不会出现在搜索结果中。 我该怎么办才能弹出结果? 我已经按照本教程进行了学习,并为索引实现了以下内容: 问题答案: 您可以尝试使用映射字符过滤器删除连字符: http://www.elasticse
问题内容: 我曾经使用过django,haystack和elasticsearch。 我的search_index.py: 搜索表格: 模板: 看 ` 我得到所有的价值,那里有“老板”和“挡泥板” 当您在搜索框中输入“ boss fender”时,我没有结果。从搜索表单中,我只能得到一个单词的结果,例如“老板”。如何使搜索多个单词的能力? 问题答案: 这个月我陷入了这个问题。 为了执行正确的查询,