我们正在使用弹性搜索 5.6.9 来支持 Django 1.11 服务器上的搜索。
如果我正在索引数据example.com
并搜索,example.com
我会得到搜索结果,但如果我正在搜索,example
我不会得到任何搜索结果。
理想情况下,我希望example
两者example.com
都工作并返回相同的搜索结果。
我怎样才能得到这种行为?
我认为我将不得不更改相同的分析器和标记器。
使用simple
分析器似乎是正确的做法。例如:
POST _analyze
{
"analyzer": "simple",
"text": "example.com"
}
返回example
并com
作为单独的令牌
{
"tokens": [
{
"token": "example",
"start_offset": 0,
"end_offset": 7,
"type": "word",
"position": 0
},
{
"token": "com",
"start_offset": 8,
"end_offset": 11,
"type": "word",
"position": 1
}
]
}
我认为我必须在索引数据和搜索时设置相同的分析器/标记器。
我尝试按照此处所述设置为:analyzer
https ://www.elastic.co/guide/en/elasticsearch/reference/5.6/analyzer.html
但是,现在我仍然需要搜索而不是,而且现在我不需要在搜索结果中查看任何内容。simple
example.com
example
highlight
我很困惑这是如何导致搜索结果而不是highlight
.
我完全不在这儿吗?