<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Heck's  Blog]]></title> 
<link>https://www.heckjj.com/index.php</link> 
<description><![CDATA[一瞬间的决定，往往可以改变很多，事实上，让自己成功的往往不是知识，是精神！ 如果你总是为自己找借口，那只好让成功推迟。执行力，今天！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Heck's  Blog]]></copyright>
<item>
<link>https://www.heckjj.com/post//</link>
<title><![CDATA[Elasticsearch拼音分词]]></title> 
<author>Heck &lt;@hecks.tk&gt;</author>
<category><![CDATA[编程杂谈]]></category>
<pubDate>Thu, 29 May 2025 02:57:48 +0000</pubDate> 
<guid>https://www.heckjj.com/post//</guid> 
<description>
<![CDATA[ 
	elasticsearch的分词器对于文本分析至关重要。对于中文等语言，合适的分词器可以显著提高搜索相关性和结果的准确性。拼音分词器不仅支持基于拼音的搜索，还能实现拼音自动补全等功能。本文将介绍如何在Elasticsearch中安装拼音分词器，以及如何配置和测试它。<br/><br/>分词器的三要素<br/>在Elasticsearch中，分词器（Analyzer）由以下三个主要部分组成：<br/><br/>Character Filters（字符过滤器）：在Tokenizer处理之前对文本进行预处理，如删除或替换特定字符。<br/>Tokenizer（分词器）：按照一定的规则将文本切分成词条（Term），例如ik_max_word就是智能切分中文。<br/>Token Filters（词条过滤器）：对Tokenizer输出的词条进行进一步处理，如转换为小写、同义词替换、拼音转换等。<br/>安装拼音分词器插件<br/>步骤1：下载插件<br/>访问<a href="https://release.infinilabs.com/analysis-pinyin/stable/" target="_blank">elasticsearch-analysis-pinyin</a> 下载页面，下载与您的Elasticsearch版本相匹配的插件。<br/><br/>步骤2：上传插件<br/>将下载的插件压缩包上传到Elasticsearch的plugins目录。<br/><br/>步骤3：检查插件列表<br/>curl -XGET &quot;http://localhost:9200/_cat/plugins?v&quot;<br/>预期输出：<br/>name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;component&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; version<br/>node-master analysis-pinyin 7.17.6<br/>包含 analysis-pinyin 插件。<br/><br/>步骤4：测试插件<br/>curl -XPOST &quot;http://localhost:9200/_analyze&quot; -H &quot;Content-Type: application/json&quot; -d&#039;<br/>&#123;<br/>&nbsp;&nbsp;&quot;analyzer&quot;: &quot;pinyin&quot;,<br/>&nbsp;&nbsp;&quot;text&quot;: &quot;姜军&quot;<br/>&#125;&#039;<br/>预期输出：<br/>&#123;<br/>&nbsp;&nbsp;&quot;tokens&quot;: [<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123; &quot;token&quot;: &quot;a&quot;, &quot;position&quot;: 0 &#125;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123; &quot;token&quot;: &quot;li&quot;, &quot;position&quot;: 1 &#125;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123; &quot;token&quot;: &quot;ba&quot;, &quot;position&quot;: 2 &#125;,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#123; &quot;token&quot;: &quot;ba&quot;, &quot;position&quot;: 3 &#125;<br/>&nbsp;&nbsp;]<br/>&#125;<br/><br/>Easy-Es 中使用 pinyin 分词器<br/>确保实体类中正确引用 Analyzer.PINYIN：<br/>@IndexField(<br/>&nbsp;&nbsp;&nbsp;&nbsp;fieldType = FieldType.TEXT,<br/>&nbsp;&nbsp;&nbsp;&nbsp;analyzer = Analyzer.PINYIN,<br/>&nbsp;&nbsp;&nbsp;&nbsp;searchAnalyzer = Analyzer.PINYIN,<br/>&nbsp;&nbsp;&nbsp;&nbsp;fieldData = true<br/>)<br/>private String name;
]]>
</description>
</item><item>
<link>https://www.heckjj.com/post//#blogcomment</link>
<title><![CDATA[[评论] Elasticsearch拼音分词]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://www.heckjj.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>