标签: gwt-gin

用javax.inject替换com.google.inject

javax.inject注释是否可以作为com.google.inject的直接替换?

所以,如果我用javax.inject替换所有我当前的guice/gin注释,我的应用程序将编译并运行得很好?

首先,javax.inject是否覆盖了google.inject所涵盖的所有基础?

java gwt gwt-gin dependency-injection guice

47
推荐指数
3
解决办法
1万
查看次数

PostgreSQL:GIN还是GiST索引?

根据我能找到的信息,他们都解决了同样的问题 - 更多深奥的操作,如数组包含和交集(&&,@>,<@等).但是我会对何时使用其中一个(或两者都不可能)的建议感兴趣.
PostgreSQL文档大约有一些这方面的信息:

  • GIN索引查找速度比GiST快三倍
  • GIN索引的构建时间比GiST长大约三倍
  • GIN索引的更新速度比GiST慢十倍
  • GIN索引比GiST大两到三倍

但是,当内存到索引大小比例开始变小(即索引大小变得比可用内存大得多)时,我会特别感兴趣知道是否存在性能影响?我在#postgresql IRC频道上被告知GIN需要将所有索引保留在内存中,否则它将无效,因为与B-Tree不同,它不知道从磁盘读入哪个部分一个特定的查询?问题是:这是真的(因为我也被告知与此相反)?GiST是否有相同的限制?在使用这些索引算法之一时,我应该注意其他限制吗?

postgresql indexing gwt-gin gist-index

38
推荐指数
1
解决办法
2万
查看次数

消除GWT ActivityMapper样板

我正在使用GWT Activities and Places框架来构建我的应用程序,结果很好.但令我恼火的一件事是,ActivityMapper实现是(1)接收应用程序中的所有视图(2)包含一个巨大的if/else块,用于根据接收的位置实例化活动.随着观看次数的增加,它只会变得更糟.

ActivityMapper截图

我已经在使用Gin,但我不知道如何在这里使用它.

如何减少或消除我的样板ActivityMapper

gwt gwt-gin gwt-mvp

13
推荐指数
1
解决办法
1995
查看次数

Postgres hstore:GIN与GiST索引性能

我必须决定是否对hstore列使用GIN或GiST索引.

Postgres的文档状态:

  • GIN索引查找速度比GiST快三倍
  • GIN索引的构建时间比GiST长大约三倍
  • GIN索引的更新速度比GiST慢十倍
  • GIN索引比GiST大两到三倍

我解释它的方式,如果你需要查询很多,请使用GIN,如果你需要更新很多,请使用GiST.

在该测试中,证实了上述GIN相对于GiST的所有三个缺点.但是,除了Postgres文档中的建议外,GIN优于GiST(更快查找)的优势非常小.幻灯片53显示,在测试中,GIN仅比Postgres文档中建议的200%至300%快2%至3%.

哪种信息来源更可靠?为什么?

postgresql indexing gwt-gin gist-index

10
推荐指数
1
解决办法
2546
查看次数

如何索引jsonb整数值

我正在尝试使用"newish"JSONB类型.

我有一个documents带有propertiesjsonb字段的表,在那里是一个字段publication_year.我想查找一年范围内的所有文件记录,例如2013-2015. [编辑:查询一系列值是这里的主要挑战,即使我使用了下面的完全匹配示例.请求的方法也适用于美元范围(价格> 20美元,价格<40美元)或时间戳范围).

我试过了:

create index test1 on documents using gin ((cast(properties->'announced_on_year' as integer)));

ERROR:  cannot cast type jsonb to integer
Run Code Online (Sandbox Code Playgroud)

以及:

create index test1 on documents using gin (cast(properties->>'publication_year' as integer));

ERROR:  data type integer has no default operator class for access method "gin"
HINT:  You must specify an operator class for the index or define a default operator class for the data type.`
Run Code Online (Sandbox Code Playgroud)

我从这篇文章中看到http://www.postgresql.org/message-id/10736.1409063604@sss.pgh.pa.us这应该是可能的,但我无法弄清楚正确的语法.

当我只做一个简单的索引:

create index test1 on …
Run Code Online (Sandbox Code Playgroud)

postgresql indexing gwt-gin jsonb

9
推荐指数
2
解决办法
4593
查看次数

GWT + UIBinder + Gin + Guice + JDO + GAE示例

我试图链接所有这些技术,但有许多孤立的例子,我没有足够的经验将它们链接在一起

所以我的问题:是否有类似的例子?可以将UIBinder与杜松子酒一起使用吗?有任何建议可以实施吗?

gwt google-app-engine gwt-gin jdo uibinder

8
推荐指数
1
解决办法
5845
查看次数

如何通过GIN与UiBinder和Widgets一起使用注入?

我正在使用GWT 2.4与gwt-platform 0.7和gin 1.5.0.

我已经为我的GWT应用程序的动态(实时)翻译构建了一个库.因此,每个小部件都会在LocaleChangeEvent被触发时得到通知,然后让我TranslationDictionary获取要显示的新String.

小部件实际上看起来像这样:

public class LocaleAwareLabel extends Label implements LocaleChangeEventHandler {
    TranslationDictionary dictionary;
    String translationToken;

    public LocaleAwareLabel(TranslationDictionary dictionary, EventBus eventBus, String translationToken) {
        this.dictionary = dictionary;
        this.translationToken = translationToken;
        eventBus.addHandler(LocaleChangeEvent.TYPE, this);
        getCurrentTranslationFromDictionary();
    }

    public void getCurrentTranslationFromDictionary() {
        this.setText(dictionary.getTranslation(translationToken));
    }

    @Override
    public void onLocaleChange(LocaleChangeEvent event) {
        getCurrentTranslationFromDictionary();
    }
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的:我不能轻易地将这个小部件与UiBinder一起使用,在我注入的时刻EventBusTranslationDictionary我的View使用方式@UiField(provided=true)如下:

@UiField(provided=true)
LocaleAwareLabel myLabel;

@Inject
public MyView(TranslationDictionary dictionary, EventBus eventBus) {
    widget = uiBinder.createAndBindUi(this);

    myLabel = new …
Run Code Online (Sandbox Code Playgroud)

gwt gwt-gin dependency-injection uibinder

8
推荐指数
2
解决办法
5017
查看次数

单身人士和艾格斯之间的区别为杜松子酒或吉尼斯人?

我想知道对于Gin或Guice来说,singleton和eagersingleton有什么不同?

java gwt-gin guice

8
推荐指数
1
解决办法
3584
查看次数

LIKE 查询的最佳 Postgres 文本索引?

使用 Postgres 9.5,我有一张表addresses

CREATE TABLE addresses (
    id        integer PRIMARY KEY,
    address   text
);
Run Code Online (Sandbox Code Playgroud)

在那个表中,我有 750 万行。例子:

1, "1600 Pennsylvania Avenue NW, Washington, DC, 20500"

我在我的应用程序中使用这个表进行自动建议搜索,所以我需要使用这种类型的查询:

SELECT * FROM addresses WHERE address LIKE '123 Main St%';
Run Code Online (Sandbox Code Playgroud)

我创建了这个索引:

CREATE INDEX address_idx ON addresses (address);
Run Code Online (Sandbox Code Playgroud)

但问题是它需要大约 1 秒,这太慢了。

这是查询计划:

EXPLAIN SELECT * FROM addresses WHERE address LIKE '123 Main St%';
----
Seq Scan on addresses  (cost=0.00..161309.76 rows=740 width=41)
  Filter: (address ~~ '123 Main St%'::text)
Run Code Online (Sandbox Code Playgroud)

我尝试创建几种类型的gin索引,但它们要么没有效果,要么使查询变慢。我不确定我是否正确使用它们。

关于如何创建针对此类查询优化的索引的任何想法?


编辑

迄今为止找到的最佳解决方案是使用文本范围扫描: …

sql postgresql indexing gwt-gin sql-like

7
推荐指数
1
解决办法
6235
查看次数

在视图中使用全文搜索 + GIN (Django 1.11)

我需要一些帮助来在 django 视图中使用 GIN 索引为全文搜索构建正确的查询。我有一个相当大的数据库(约 40 万行),需要对其中的 3 个字段进行全文搜索。尝试使用django 文档搜索,这是 GIN 之前的代码。它有效,但需要 6 秒以上的时间来搜索所有字段。接下来,我尝试实现GIN索引以加快搜索速度。已经有很多问题如何构建它。但我的问题是 -使用 GIN 索引进行搜索时,视图查询如何更改?我应该搜索哪些字段?

在 GIN 之前:

models.py

class Product(TimeStampedModel):
    product_id = models.AutoField(primary_key=True)
    shop = models.ForeignKey("Shop", to_field="shop_name")
    brand = models.ForeignKey("Brand", to_field="brand_name")
    title = models.TextField(blank=False, null=False)
    description = models.TextField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

视图.py

   
def get_cosmetic(request):
    if request.method == "GET":
        pass
    else:
        search_words = request.POST.get("search")
        search_vectors = (
            SearchVector("title", weight="B")
            + SearchVector("description", weight="C")
            + SearchVector("brand__brand_name", weight="A")
        )

        products = (
            Product.objects.annotate(
                search=search_vectors, rank=SearchRank(search_vectors, search)
            ) …
Run Code Online (Sandbox Code Playgroud)

postgresql gwt-gin django-models django-queryset django-views

7
推荐指数
1
解决办法
3730
查看次数