Articles

  • Redis

    Redis Basics.

  • Elasticsearch

    Elasticsearch API.

  • Kafka Primer

    Introduction

    Kafka Basics.

    Table of Contents

  • C++ Libraries

    Table of Contents

  • Build Systems

    Autotools

    configure.ac

    AC_INIT[hello], [1.0], [bug@xxx.org])
    AM_INIT_AUTOMAKE([-Wall -Werror foreign])
    AM_PROG_AR
    AC_PROG_RANLIB
    AC_PROG_CC
    AC_PROG_CXX
    AC_CONFIG_FILES([
    	Makefile
    	echo/Makefile
    	])
    AC_OUTPUT
    

    Makefile.am

    bin_PROGRAMS = hello
    SUBDIRS=echo
    hello_SOURCES = hello.cpp
    hello_LDADD = ./echo/echo.a
    hello_LDFLAGS = -lstdc++ -lpthread
    AM_CPPFLAGS = -Iinclude
    AM_CXXFLAGS = -std=c++11
    
    autoreconf --install
    ./configure
    make
    

    CMake

    CMakeLists.txt

    add_executable(test, test.cc)
    
    cmake .
    make
    
  • Relevance Beyond Text

    Points

    Text-based ranking measures are ncessary but not sufficient for high quality retrieval. Extremely important to confirm intuition with experiments.

    • Prefer multiplicative boosting to additive boosting
    • Apply a boost function based on some static document attribute
    • DocumentRank (e.g. quality, length, etc.) like PageRank
  • Elasticsearch - Relevancy

    之所以相关性比较困难,是因为搜索是一个严重的信息不对等的用户交互过程,所有的交互基本就限定在一个搜索框中,用户提供的搜索词也就寥寥几个,而搜索的数据往往是海量的,包括各种各样的类型和质量,用户的预期却是返回相关性非递增的搜索结果排序展示。

    其中为了增加搜索的准确性,可以使用一些上下文信息来帮助搜索引擎。 例如用户搜索时候所在的页面,用户的偏好设置(语言,地理位置),以及累计的用户历史记录等等。

    还有一些特定领域的方法,例如具有时效性的新闻,媒体类。

    搜索结果的相关性不仅为用户提供了方便,还在潜移默化的影响着用户,甚至可以起到引导用户的作用,比如推荐内容。

    Table of Contents

  • Logstash

    Logstash performance and configration

  • Elasticsearch - Performance Tuning

    elasticsearch

  • Search Engine - Measurements

    Introduction

    Measurements of a search engine.