Skip to content

Instantly share code, notes, and snippets.

View mocobeta's full-sized avatar

Tomoko Uchida mocobeta

View GitHub Profile
@mocobeta
mocobeta / multi_taskqueue.py
Last active August 29, 2015 14:00
Redis を使ったタスクキューのデモ (http://mocobeta-backup.tumblr.com/post/83910499938/redis-2)
import redis
import json
import time
import datetime
import uuid
import threading
import argparse
def provider(conn, name, total_tasks, queue, sleep=0.1):
""" Provider """
@mocobeta
mocobeta / sharded_set.py
Created May 5, 2014 03:03
Redis : SET のシャーディング
import binascii
import random
TOTAL_ELEMENTS = 2000
SHARD_SIZE = 512
def shard_key(base, key, total_elements, shard_size):
"""
シャードキーを計算する関数
「Redis入門」リスト9-7 から引用
@mocobeta
mocobeta / FastVectorHighlighterSample.java
Last active August 29, 2015 14:06
(Lucene) Highlighter のサンプル
package higlighter;
import java.io.File;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.queryparser.classic.QueryParser;
@mocobeta
mocobeta / SpatialIndexSample.java
Last active August 29, 2015 14:07
(Lucene) Spatial search のサンプル
package indexer;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field.Store;
@mocobeta
mocobeta / build.py
Last active August 29, 2015 14:17
Rough implementation for Minimal Acyclic Subsequential Transducers
import time
from fst import *
from struct import pack
def build_dict(enc, outfile, *files):
entries = {}
for file in files:
with open(file, encoding=enc) as f:
for line in f:
line = line.rstrip()
@mocobeta
mocobeta / HelloKuromoji.java
Created March 21, 2015 06:12
kuromoji with neologd
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.ja.JapaneseAnalyzer;
import org.apache.lucene.analysis.ja.JapaneseTokenizer;
import org.apache.lucene.analysis.ja.tokenattributes.PartOfSpeechAttribute;
import org.apache.lucene.analysis.ja.tokenattributes.ReadingAttribute;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.util.CharArraySet;
@mocobeta
mocobeta / BaseIndexer.java
Created June 23, 2012 15:48
Lucene入門 3章 インデックス作成プログラム - Lucene 3.6 バージョン
package indexer;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.util.Date;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexWriter;
@mocobeta
mocobeta / BaseSearcher.java
Created June 30, 2012 14:40
Lucene入門 4章 インデックス検索プログラム - Lucene 3.6 バージョン
package searcher;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Constructor;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.IndexSearcher;
@mocobeta
mocobeta / SolrbookAnalyzer.java
Created August 2, 2012 17:38
Solr カスタムanalyzerもどきを作る
package test.solrbook;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.io.StringReader;
@mocobeta
mocobeta / gist:3274693
Created August 6, 2012 14:12
Solr4.0 alpha で deleteByQuery が無視されるバグ
** Solr4.0-ALPHAでハマったのでメモ **
schema.xmlに"_version_" という名のフィールドがないと、deleteByQueryがスルーされるというバグを踏んでいたらしい。
https://issues.apache.org/jira/browse/SOLR-3432
ドキュメントを全削除しようとして、
$ curl http://localhost:8983/solr/update?commit=true -H "Content-type: text/xml" --data-binary '<delete><query>*:*</query></delete>'
をいくら実行しても、まったく削除されないので困って検索したら、ヒットしたのが上記Issue。