Skip to content

Instantly share code, notes, and snippets.

View mocobeta's full-sized avatar

Tomoko Uchida mocobeta

View GitHub Profile
@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。
@mocobeta
mocobeta / echo.py
Created August 21, 2012 15:03
リクエストパラメータでエンコーディングを切り替えるWSGI Middleware
#-*- coding: utf-8 -*-
ENCODINGS = ["utf-8", "sjis"]
CHARSET = {"utf-8": "UTF-8", "sjis": "Shift_JIS"}
class EncodingHandlerMiddleware(object):
def __init__(self, app):
self.app = app
def __call__(self, env, start_response):
@mocobeta
mocobeta / memcached_prepare.py
Created November 24, 2012 15:28
KVS性能比較/データ
## memcached, Couchbase 両方で使用
import pylibmc
import md5
import time
host = 'host:port'
mc = pylibmc.Client([host])
ITEM_COUNT = 1000000
@mocobeta
mocobeta / memcached_perf.py
Created November 24, 2012 15:33
KVS性能比較/測定
## memcached, Couchbaseで使用
import sys
import pylibmc
import md5
import time
import random
host = 'host:port'
mc = pylibmc.Client([host])
@mocobeta
mocobeta / memcached_stress.py
Created November 24, 2012 15:38
KVS性能比較/負荷生成
## memcached, Couchbase 両方で使用
import pylibmc
import md5
import time
import random
import datetime
import threading
host = 'host:port'
@mocobeta
mocobeta / IndexingTest.java
Last active December 9, 2015 18:08
Lucene indexing sample
/**
* 以下は、Apache Softoware Licence v2.0 の元にで頒布されているコードに一部改変を加えたものです。
* http://www.apache.org/licenses/LICENSE-2.0.txt
*/
import static org.junit.Assert.*;
import java.io.IOException;
import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
import org.apache.lucene.document.Document;
@mocobeta
mocobeta / LockTest.java
Created December 28, 2012 13:22
Lucene ディレクトリロックサンプル
public class LockTest {
public static void main(String[] args) {
try {
MyIndexer i1 = new MyIndexer("data");
i1.start();
MyIndexer i2 = new MyIndexer("data");
i2.start();
Thread.sleep(60000);