Comments (5)
index如下:
{
"index": {
"analysis": {
"analyzer": {
"prefix_pinyin_analyzer": {
"tokenizer": "keyword",
"filter": ["lowercase", "prefix_pinyin"]
}
, "full_pinyin_analyzer": {
"tokenizer": "keyword",
"filter": ["lowercase", "full_pinyin"]
}
},
"tokenizer": {
"prefix_pinyin": {
"type": "pinyin",
"first_letter": "prefix",
"padding_char": ""
}
},
"filter": {
"_pattern": {
"type": "pattern_capture",
"preserve_original": 1,
"patterns": ["([0-9])", "([a-z])"]
}
, "prefix_pinyin": {
"type": "pinyin",
"first_letter": "prefix",
"padding_char": ""
}
, "full_pinyin": {
"type": "pinyin",
"first_letter": "none",
"padding_char": ""
}
}
}
}
}
mapping设置:
"name_prefix_pinyin": {
"type": "completion",
"analyzer": "prefix_pinyin_analyzer",
"search_analyzer": "prefix_pinyin_analyzer",
"preserve_separators": false,
"payloads": true
},
"name_full_pinyin": {
"type": "completion",
"analyzer": "full_pinyin_analyzer",
"search_analyzer": "full_pinyin_analyzer",
"preserve_separators": false,
"payloads": true
},
然后用suggester去搜对应内容,此部分涉及到业务,可能不同
, body: {
goods_prefix_suggest: {
text: '',#搜索的key
completion: {
field:"name_prefix_pinyin" #搜索的字段
,size:10 #搜索的长度
}
}
, goods_full_suggest: {
text: '',#搜索的key
completion: {..} #同上
}
}
``
from elasticsearch-analysis-pinyin.
目前Completion Suggest不支持(要命的前缀查询),用query解决吧
from elasticsearch-analysis-pinyin.
非常感谢!我试试!!
from elasticsearch-analysis-pinyin.
1、这是es2.3.4下。
2、因为我是nodejs,所以用的是Elasticsearch.js中的suggest()方法,你根据你自己后端语言自己看下
https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html#api-suggest
3、使用这个completion suggester可以和context suggester结合使用来进行类似于query的match、term等过滤。
但是有个bug。。。。Deleted documents show up in completion suggester
我还没找到解决方法。。。。
当然,如果你的doc不需要update或者delete的话没啥问题。。。了吧。。
from elasticsearch-analysis-pinyin.
请参见最新的README文档,使用起来更加简单
from elasticsearch-analysis-pinyin.
Related Issues (20)
- 7.10.2版本,ik做analyzer,pinyin做filter,而且字段index_phrases为true时,出现startOffset must be non-negative
- 关于zh,ch,sh无法查询到相关的词语
- 关于示例中name.pinyin搜索能直接搜中文英文 HOT 1
- 没有高亮 HOT 2
- No installable zip in release assets for v8.4.2 and v8.4.3 HOT 1
- es 8.5X版本无法建立mapping HOT 1
- v6.8.20 源码和jar包对不上
- es7.17.0 使用7.17.0版本依然报错startOffset HOT 3
- 求助,使用match_phrase搜索不到结果 HOT 4
- 中文首字符携带数字排序不理解大小
- 严重BUG:当分词内容中包含单独的A字母时,这个A字母会被分词器扔掉 HOT 1
- 如何解决同音字的问题 HOT 2
- 没有7.17.10版本吗? HOT 1
- elasticsearch8.7.0可以使用7.x版本的拼音吗 HOT 3
- 怎么在分词后保留"c++软件工程师"中“+”号在结果中,为什么拼音分词器会过滤掉符号呢
- 中英文混合时能否也支持下提取英文单词首字母
- 拼音首字母查询问题,当第二个字的拼音首字母为第一个字的韵母时查询不到结果 HOT 1
- 构建了 8.10.2 ,8.10.3,8.10.4,7.17.14供使用 HOT 6
- 求ES 8.12版本的插件 HOT 2
- ES8.9.2,release版本没有编译好的jar包 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elasticsearch-analysis-pinyin.