1

Google App Engine 検索を使用してテキスト検索を作成しました。

SDK では、アトム フィールドでこのようなクエリをテストしました。

u'tag:"wartości"'

本番環境では同じクエリを実行しますが、同じデータでは機能しません。

アトムフィールドでユニコードクエリを実行するにはどうすればよいですか?

Google App Engine 検索でユニコードを使用することは可能ですか?

4

2 に答える 2

0

値を新しい文字列に変換AtomFieldする必要があり、クエリも変換する必要があるようです。この回避策では、ポーランド語の Unicode 検索のみが許可されます。トンケン化のルールがわからないので、ポーランド語では使用されないので、'q'、'x' を使用してアルファベットを展開します。

# coding=utf-8

translate = {
  u'ą': u'aq',
  u'Ą': u'Aq',
  u'ć': u'cq',
  u'Ć': u'Cq',
  u'ę': u'eq',
  u'Ę': u'Eq',
  u'ł': u'lq',
  u'Ł': u'Lq',
  u'ń': u'nq',
  u'Ń': u'Nq',
  u'ó': u'oq',
  u'Ó': u'Oq',
  u'ś': u'sq',
  u'Ś': u'Sq',
  u'ż': u'zx',
  u'Ż': u'Zx',
  u'ź': u'zq',
  u'Ź': u'Zq',
}

import re

reTranslate = re.compile(u'(%s)' % u'|'.join(translate))

print reTranslate.pattern

test = u"""\
Właściwie prowadzona komunikacja wewnętrzna w firmie,\
 zwłaszcza dużej czy posiadającej rozproszoną sieć oddziałów,\
 może przynieść oszczędność czasu, a co za tym idzie, również pieniędzy."""

print reTranslate.sub(lambda match: translate[match.group(0)], test)
于 2014-04-29T15:15:39.883 に答える