本文整理汇总了Python中elasticsearch_dsl.Index.create方法的典型用法代码示例。如果您正苦于以下问题:Python Index.create方法的具体用法?Python Index.create怎么用?Python Index.create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类elasticsearch_dsl.Index
的用法示例。
在下文中一共展示了Index.create方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: BaseSearchTestCase
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
class BaseSearchTestCase(TestCase):
def setUp(self):
from django.conf import settings
SEARCH = getattr(settings, 'SEARCH')
connections.create_connection('testing', **SEARCH['default']['connections'])
self.index = Index(SEARCH['default']['index'], using='testing')
# This is needed for test_documents, but has side effects in all running tests
doctypes_list = (
value for name, value
in inspect.getmembers(documents)
if not name.startswith('_') and
inspect.isclass(value) and
issubclass(value, DocType) and
name != DocType.__name__
)
for doctype in doctypes_list:
# Remove assigned index
doctype._doc_type.index = None
# Associate docs with test index
self.index.doc_type(doctype)
if self.index.exists():
self.index.delete(ignore=404)
self.index.create()
self.search = Search(index=SEARCH['default']['index'])
def tearDown(self):
self.index.delete()
queue = django_rq.get_queue()
queue.empty()
示例2: setup_es
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def setup_es():
"""Create the ElasticSearch index and configure the mapping.
"""
client = elasticsearch_config['client']
index_name = elasticsearch_config['index']
info = client.info()
print('ElasticSearch version: {0}'.format(info['version']['number']))
if client.indices.exists(index_name):
print('Index "{0}" already exists. To re-create the index, manually '
'delete the index and run this script again.'.format(index_name))
print('To delete the index run:')
print('curl -XDELETE \'http://{0}:{1}/{2}/\''.format(
elasticsearch_config['host'], elasticsearch_config['port'],
index_name))
sys.exit(0)
index = Index(index_name)
index.settings(analysis=analysis_settings)
index.doc_type(SearchArea)
index.doc_type(SearchBook)
index.doc_type(SearchImage)
index.doc_type(SearchOuting)
index.doc_type(SearchXreport)
index.doc_type(SearchRoute)
index.doc_type(SearchTopoMap)
index.doc_type(SearchUser)
index.doc_type(SearchWaypoint)
index.doc_type(SearchArticle)
index.create()
print('Index "{0}" created'.format(index_name))
示例3: test_index_can_be_created_with_settings_and_mappings
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def test_index_can_be_created_with_settings_and_mappings(write_client):
i = Index('test-blog', using=write_client)
i.document(Post)
i.settings(number_of_replicas=0, number_of_shards=1)
i.create()
assert {
'test-blog': {
'mappings': {
'properties': {
'title': {'type': 'text', 'analyzer': 'my_analyzer'},
'published_from': {'type': 'date'}
}
}
}
} == write_client.indices.get_mapping(index='test-blog')
settings = write_client.indices.get_settings(index='test-blog')
assert settings['test-blog']['settings']['index']['number_of_replicas'] == '0'
assert settings['test-blog']['settings']['index']['number_of_shards'] == '1'
assert settings['test-blog']['settings']['index']['analysis'] == {
'analyzer': {
'my_analyzer': {
'type': 'custom',
'tokenizer': 'keyword'
}
}
}
示例4: create_index_if_does_not_exist
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def create_index_if_does_not_exist(cls):
index = Index(cls.INDEX_NAME)
index.doc_type(cls)
if not index.connection.indices.exists(cls.INDEX_NAME):
index.create()
time.sleep(1) # It takes some time to create the index
示例5: setup_index
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def setup_index(year):
index = Index(f'{INDEX_NAME}-{year}')
index.settings(number_of_shards=2, number_of_replicas=0)
index.aliases(politicians={})
index.document(Politicians)
index.analyzer(brazilian_analyzer)
index.create()
示例6: create_index_if_not_exists
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def create_index_if_not_exists(self, index_name):
self.index = index_name
idx = Index(index_name)
idx.settings(number_of_shards=1, number_of_replicas=1)
idx.doc_type(LogType)
try:
idx.create()
except:
pass
示例7: initialize_index
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def initialize_index(self, delete_if_exists=False):
"""
Initialize index with mapping in ElasticSearch
:param delete_if_exists: delete index, if exists
:return: None
"""
def update_index_settings():
"""
Function updates settings for slovenian lemmatization of words.
As far as we know, elasticsearch-dsl library does not support
custom filter settings.
:return: None
"""
analysis_settings = {
"analysis": {
"filter": {
"lemmagen_filter_sl": {
"type": "lemmagen",
"lexicon": "sl"
}
},
"analyzer": {
"lemmagen_sl": {
"type": "custom",
"tokenizer": "uax_url_email",
"filter": [
"lemmagen_filter_sl",
"lowercase"
]
}
}
}
}
self.client.cluster.health(index=self.index_name,
wait_for_status='green',
request_timeout=2)
self.client.indices.close(index=self.index_name)
self.client.indices.put_settings(json.dumps(analysis_settings),
index=self.index_name)
self.client.indices.open(index=self.index_name)
index = Index(self.index_name, using=self.client)
if delete_if_exists and index.exists():
index.delete()
index.settings(
# use higher number in production
number_of_replicas=0
)
# register models
index.doc_type(Document)
index.create()
update_index_settings() # set lemmanizer
示例8: create_index
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def create_index(hosts, index):
i = set_hosts_index(hosts=hosts, index=index)
logprint('debug', 'creating new index')
i = Index(index)
i.create()
logprint('debug', 'registering doc types')
i.doc_type(Author)
i.doc_type(Page)
i.doc_type(Source)
logprint('debug', 'DONE')
示例9: es_index_mapping
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def es_index_mapping(index_name, doc_type, force=False):
# 创建索引
index = Index(index_name)
index.doc_type(doc_type)
if not index.exists():
index.create()
else:
if force:
index.upgrade()
示例10: create_search_index
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def create_search_index(index_name, doc_types=None, connection='default', delete_if_exists=False):
index = Index(index_name, using=connection)
if delete_if_exists:
index.delete(ignore=404)
if doc_types:
for dt in doc_types:
if isinstance(dt, str):
dt = get_document_class(dt)
index.doc_type(dt)
if not index.exists():
index.create()
return index
示例11: applyConfig
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def applyConfig(self):
try:
print("Connecting to '%s', index '%s'" % (self.confESHost, self.confESIndex))
res = connections.create_connection(hosts=[self.confESHost])
idx = Index(self.confESIndex)
idx.doc_type(DocHTTPRequestResponse)
DocHTTPRequestResponse.init()
try:
idx.create()
except:
pass
except Exception as e:
JOptionPane.showMessageDialog(self.panel, "<html><p style='width: 300px'>Error while initializing ElasticSearch: %s</p></html>" % (str(e)), "Error", JOptionPane.ERROR_MESSAGE)
示例12: create_index
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def create_index():
index = set_hosts_index()
logprint('debug', 'creating new index')
index = Index(settings.DOCSTORE_INDEX)
index.create()
logprint('debug', 'creating mappings')
Author.init()
Page.init()
Source.init()
logprint('debug', 'registering doc types')
index.doc_type(Author)
index.doc_type(Page)
index.doc_type(Source)
logprint('debug', 'DONE')
示例13: test_es_create_alias
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def test_es_create_alias(self):
# Index name required.
with self.assertRaises(SystemExit):
call_command(
'es_create_alias',
target_name='foobar_target'
)
# Target name required.
with self.assertRaises(SystemExit):
call_command(
'es_create_alias',
index_name='foobar'
)
# Index doesn't exist.
with self.assertRaises(SystemExit):
call_command(
'es_create_alias',
index_name='foobar',
target_name='foobar_target'
)
index = Index('foobar_target')
index.create()
self.refresh()
# Alias with same name as index.
with self.assertRaises(SystemExit):
call_command(
'es_create_alias',
index_name='foobar_target',
target_name='foobar_target'
)
# Dry run.
call_command(
'es_create_alias',
index_name='foobar',
target_name='foobar_target',
dry_run=True
)
self.assertAliasDoesntExist(index='foobar_target', name='foobar')
call_command(
'es_create_alias',
index_name='foobar',
target_name='foobar_target'
)
self.assertAliasExists(index='foobar_target', name='foobar')
示例14: test_es_create_documents
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def test_es_create_documents(self):
# Index name required.
with self.assertRaises(SystemExit):
call_command('es_create_documents')
# index_name not in settings.
with self.assertRaises(SystemExit):
call_command(
'es_create_documents',
index_name='barfoo'
)
# Index doesn't exist.
with self.assertRaises(SystemExit):
call_command(
'es_create_documents',
index_name='foobar'
)
index = Index('foobar')
doc_type = Token.get_es_doc_type()
index.doc_type(doc_type)
index.create()
self.refresh()
# Disable auto indexing while creating objects.
settings.TRAMPOLINE['OPTIONS']['disabled'] = True
token = Token.objects.create(name="token")
token_not_indexable = Token.objects.create(name='not_indexable')
token_raise_exception = Token.objects.create(name='raise_exception')
settings.TRAMPOLINE['OPTIONS']['disabled'] = False
# Dry run.
call_command(
'es_create_documents',
index_name='foobar',
dry_run=True
)
self.assertDocDoesntExist(token)
self.assertDocDoesntExist(token_not_indexable)
self.assertDocDoesntExist(token_raise_exception)
call_command(
'es_create_documents',
index_name='foobar',
verbosity=3
)
self.assertDocExists(token)
self.assertDocDoesntExist(token_not_indexable)
self.assertDocDoesntExist(token_raise_exception)
示例15: _create_index
# 需要导入模块: from elasticsearch_dsl import Index [as 别名]
# 或者: from elasticsearch_dsl.Index import create [as 别名]
def _create_index(self):
dt = datetime.utcnow()
dt = dt.strftime('%Y.%m')
es = connections.get_connection()
if not es.indices.exists('indicators-{}'.format(dt)):
index = Index('indicators-{}'.format(dt))
index.aliases(live={})
index.doc_type(Indicator)
index.create()
m = Mapping('indicator')
m.field('indicator_ipv4', 'ip')
m.field('indicator_ipv4_mask', 'integer')
m.save('indicators-{}'.format(dt))
return 'indicators-{}'.format(dt)