我使用了以下映射:我修改了英语分析器来使用ngram分析器,如下所示,这样我应该能够在以下情况下进行搜索:1]部分搜索和特殊字符搜索2]以获得语言分析器的优势
{
"settings": {
"analysis": {
"analyzer": {
"english_ngram": {
"type": "custom",
"filter": [
"english_possessive_stemmer",
"lowercase",
"english_stop",
"english_stemmer",
"ngram_filter"
],
"tokenizer": "whitespace"
}
},
"filter": {
"english_stop": {
"type": "stop"
},
"english_stemmer": {
"type": "stemmer",
"language": "english"
},
"english_possessive_stemmer": {
"type": "stemmer",
"language": "possessive_english"
},
"ngram_filter": {
"type": "edge_ngram",
"min_gram": 1,
"max_gram": 25
}
}
}
},
"mappings": {
"movie": {
"properties": {
"title": {
"type": "string",
"fields": {
"en": {
"type": "string",
"analyzer": "english_ngram"
}
}
}
}
}
}
}
将我的数据索引如下:
PUT http://localhost:9200/movies/movie/1
{
"title" : "$peci@l movie"
}
{
"query": {
"multi_match": {
"query": "$peci#44 m11ov",
"fields": ["title.en"],
"operator":"and",
"type": "most_fields",
"minimum_should_match": "75%"
}
}
}
这是ngram
标记化的结果。当标记字符串$peci@l movie
时,分析器将生成$
、$p
、$pe
等标记。尽管这些匹配会比完整的匹配得分低。如果排除这些假阳性匹配对您至关重要,可以尝试使用min_score
选项https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-min-score.html设置阈值
问题内容: 我正在尝试使用Java的SimpleDateFormat来解析带有以下代码的日期字符串。 我期待一些解析错误。但有趣的是,它打印以下字符串。 无法推理出来。有人可以帮忙吗? 谢谢 问题答案: 已将其解析为 月份 号2011,因为month()是日期模式的第一部分。 如果将2011个月加到28年,则得到195年。 2011个月是167年零7个月。七月是第七个月。您将02指定为日,将28指
问题内容: 我正在使用python 3.8.2和bs4 BeautifulSoup。我试图找到一个标记的所有实例,并在结果集中列出每个实例,每行一个。但是,返回的结果集包含的行数多于网站的原始内容。这是因为结果集的第一行包含标记的所有实例。接下来的行包含除第一个实例以外的所有实例,第三行包含除第一个和第二个实例以外的所有实例,依此类推,以此类推,并包含结果集的其余部分。 这是代码: 我如何获得它,
[`const express=require('express');const app=express();const https=require('https'); 常量url=“https://api.thevirustracker.com/free-api?countrytimeline=US”; app.get(“/”,(req,res)=>{res.send(“server is ru
为什么in\u array()有时表现得如此奇怪,并返回如此意外的结果? 我们来看几个例子: 嗯?这里发生了什么!? (几年前,我开始怀疑这种奇怪的行为。不过我认为它可能对某些人有用,所以我进入了这个问题。)
正如你所看到的,计算机只是将操作系统一个接一个地按系统顺序排列,只有当它有可能获胜时才打破这个顺序来阻止X。这是一场非常防守的比赛,与3x3比赛不同。那么为什么3x3和4x4的方法表现不同呢? 代码如下: 下面是运行代码所需的其他组件和补充方法。我的类State2中使用的字段和构造函数: 补充方法: 返回板上空槽的数组(即可能的下一步移动)。 isGameOver2(),简单地检查棋盘的当前状态是
在我看来,我的缓冲区包含关于最后一个数据包步骤(路由器->my home)的信息,这些信息解释了为什么TTL值是254以及为什么我用Traceroute找到了相同的两个IP: $>traceroute qwant.com traceroute to qwant.com(194.187.168.99),30跳最大,60字节数据包 172.17.0.1(172.17.0.1)0.026 ms 0.01