作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用Elasticsearch来构建一个小型搜索应用程序,并试图找出如何使用多字(词组)建议来构建自动完成功能。我正在运作...有点...
我主要收到一个单词的建议,但是当我按下空格键时,它就会取消这些建议。
例如,如果我键入“fast”,则工作正常,如果我键入“fast”,则将停止显示建议。
我正在使用Edge N Grams
和match_phrase_prefix
并按照示例here和here进行构建。对于_all
中的match_phrase_prefix
字段,仅使用include_in_all:false可以取消除标题和内容之外的所有字段。我开始认为是因为我正在对一个小的数据集进行测试,并且根本没有足够的标记化术语来产生多词建议。请查看下面的相关代码,并告诉我我要去哪里了,如果有的话?
"analysis": {
"filter": {
"autocomplete_filter": {
"type": "edge_ngram",
"min_gram": "1",
"max_gram": "20",
"token_chars": [
"letter",
"digit"
]
}
},
"analyzer": {
"autocomplete": {
"type": "custom",
"tokenizer": "whitespace",
"filter": [
"lowercase",
"asciifolding",
"autocomplete_filter"
]
},
"whitespace_analyzer": {
"type": "custom",
"tokenizer": "whitespace",
"filter": [
"lowercase",
"asciifolding"
]
最佳答案
尝试keyword
tokenizer
"autocomplete": {
"type": "custom",
"filter": [
"lowercase",
"asciifolding",
"autocomplete_filter"
],
"tokenizer": "keyword"
}
curl 'localhost:9200/test/_analyze?pretty=1&analyzer=my_edge_ngram_analyzer' -d 'FC Schalke 04'
引用
https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-edgengram-tokenizer.html
关于elasticsearch - 如何生成多词搜索建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36958863/
我是一名优秀的程序员,十分优秀!