采用了 elasticsearch + mmseg,css 挫了一点。小 A 说他来弄 CSS。这我一般不信的。


目前可能是查询策略或者分词问题,搜索结果会带进许多噪音,请原谅。有高手的话,可以帮忙看下。

Search 的代码如下:

# coding: utf-8
class SearchController < ApplicationController
  def index
    @topics = Topic.search(
        query: {
            multi_match: {
                query: params[:q],
                fields: %w(title body),
                fuzziness: 2
            }
        },
        highlight: {
            fields: {
                title: {},
                body: {}
            }
        }
    ).paginate(page: params[:page], per_page: 10).records
    @count = @topics.total_entries
  end
end

mmseg 配置用的就是官方的:


index:
  analysis:
    tokenizer:
      mmseg_maxword:
          type: mmseg
          seg_type: "max_word"
      mmseg_complex:
          type: mmseg
          seg_type: "complex"
      mmseg_simple:
          type: mmseg
          seg_type: "simple"


↙↙↙阅读原文可查看相关链接,并与作者交流