- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用documents
类型创建_doc
索引。然后我
如下设置自定义分析器
POST /documents/_close
PUT /documents/_settings
{
"settings": {
"analysis": {
"analyzer": {
"custom_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"word_delimiter_graph"
]
}
}
}
},
"mappings": {
"properties": {
"question": {
"type": "text",
"analyzer": "custom_analyzer"
},
"question_group": {
"type": "text",
"analyzer": "custom_analyzer"
}
}
}
}
POST /documents/_open
我尝试使用此
custom_analyzer
然后有效
POST http://localhost:9200/documents/_analyze
{
"analyzer": "custom_analyzer",
"text": "FIRE_DETECTED"
}
# And the result (lowercase and remove _ )
{
"tokens": [
{
"token": "fire",
"start_offset": 0,
"end_offset": 4,
"type": "<ALPHANUM>",
"position": 0
},
{
"token": "detected",
"start_offset": 5,
"end_offset": 13,
"type": "<ALPHANUM>",
"position": 1
}
]
}
但是,当我尝试搜索“火”或“检测到火”时,
无法使用。
#This POST found nothing
POST /documents/_search
{
"query": {
"multi_match": {
"query": "fire detected",
"fields": [
"question^2",
"question_group"
]
}
}
}
PUT /documents5
{
"settings": {...}
}
索引数据
PUT http://localhost:9200/documents5/_doc/1
{
"question": "fire_detected"
}
搜索
最佳答案
发生这种情况的原因是,您只是将custom_analyzer
的定义添加到索引中,但没有对数据(索引中的文档)重新索引,因此新的 token 不存在于反向索引中。 为了解决此问题,只需再次为要在搜索结果中包含的文档重新编制索引。
您正在使用multi_match
查询,该查询内部使用match
查询,并且对这些查询进行了分析,因此您不需要搜索时间分析器。match
查询使用在字段上定义的同一分析器来创建搜索 token (即,根据搜索词创建的)。
从match query official docs
Returns documents that match a provided text, number, date or booleanvalue. The provided text is analyzed before matching.
关于elasticsearch - 搜索Elasticsearch时自定义分析器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64116458/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!