Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Elasticsearch中匹配搜索查询中的单个单词_C#_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Kibana_Nest - Fatal编程技术网 elasticsearch,kibana,nest,C#,elasticsearch,Kibana,Nest" /> elasticsearch,kibana,nest,C#,elasticsearch,Kibana,Nest" />

C# 如何在Elasticsearch中匹配搜索查询中的单个单词

C# 如何在Elasticsearch中匹配搜索查询中的单个单词,c#,elasticsearch,kibana,nest,C#,elasticsearch,Kibana,Nest,假设我有一个名为complexId的字段,它有一个带有特殊字符的值:fruit/1a.445/2.10.mango。因此,当我搜索类似于复杂ID水果/1a.445/2.10.mango的东西时,我应该能够得到结果 我想要的是,我希望弹性搜索至少匹配以下三个词中的一个: 1. Complex 2. ID 3. fruit/1a.445/2.10.mango 下面是我的两份文件: { "name": "Joe", "complexId": "fruit/1a.445/2.10.ma

假设我有一个名为
complexId
的字段,它有一个带有特殊字符的值:
fruit/1a.445/2.10.mango
。因此,当我搜索类似于
复杂ID水果/1a.445/2.10.mango
的东西时,我应该能够得到结果

我想要的是,我希望弹性搜索至少匹配以下三个词中的一个:

1. Complex 
2. ID 
3. fruit/1a.445/2.10.mango
下面是我的两份文件:

{
   "name": "Joe",
   "complexId": "fruit/1a.445/2.10.mango"
},
{
   "name": "Matt",
   "complexId": "car/35.6a5/chevy.20"
}
用户搜索类似于
诸如此类的水果/1a445/mango诸如此类的东西,他应该会得到以下结果:

{
   "name": "Matt",
   "complexId": "fruit/1a.445/2.10.mango"
}
我试过了,但没有得到任何结果:

{
   "query": {
      "bool": {
          "match" : 
          {
              complexId : "blah blah blah fruit/1a.445/2.10.mango blah blah"
          }
      }
   }
}
字段
complexId
有一个标准分析器


任何帮助都将不胜感激。

标准分析仪在您的情况下不起作用

由于您具有特殊字符,因此在存储到ElasticSearch时将忽略该字符。尝试改用
空白
分析器

POST _analyze
{
  "analyzer": "whitespace",
  "text": "blah blah blah fruit/1a.445/2.10.mango blah blah"
}
使用不同的分析仪,找到最适合您需要的分析仪

您也可以创建自己的自定义分析器