Com*_*hat 6 python django-haystack elasticsearch
关于EdgeNgram如何处理数字的任何想法?
我正在使用ElasticSearch后端运行haystack.我创建了一个EdgeNgram类型的索引字段.该字段将包含一个字符串,其中可能包含单词和数字.
当我使用部分单词对该字段进行搜索时,它的工作方式如何.但如果我输入一个部分号码,我就得不到我想要的结果了.
例:
我通过输入"edgen"来搜索索引字段"EdgeNgram 12323",然后我将索引返回给我.如果我通过输入"123"搜索相同的索引,我什么也得不到.
思考?
小智 3
如果您使用的是edgeNGram tokenizer,那么它会将“EdgeNGram 12323”视为单个标记,然后对其应用edgeNGram'ing过程。例如,如果 min_grams=1 max_grams=4,您将获得以下索引标记:["E", "Ed", "Edg", "Edge"]。所以我想这不是您真正想要的 - 考虑使用 edgeNGram 令牌过滤器:
如果您使用的是edgeNGram标记过滤器,请确保您使用的标记生成器实际上标记了文本“EdgeNGram 12323”,以从中生成两个标记:[“EdgeNGram”,“12323”](标准或空白标记生成器将做这个伎俩)。然后应用旁边的edgeNGram 过滤器。
一般来说,edgeNGram 将采用“12323”并生成“1”、“12”、“123”等标记...
| 归档时间: |
|
| 查看次数: |
2044 次 |
| 最近记录: |