问题标签 [unaccent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - 在 Ubuntu 上找不到适用于 Postgresql 8.4 的 PGXS
我正在尝试在我的 Ubuntu 机器上安装 Postgresql 8.4 的 contrib/unaccent 包。但是当我输入 make 时收到错误消息:
/usr/lib/postgresql/8.4/lib/pgxs/src/makefiles/pgxs.mk:没有这样的文件或目录
显然 PGXS 是 Postgresql 安装扩展的基础设施,但我在我的 ubuntu 机器上根本找不到文件 pgxs.mk。
跟随互联网上的一些线索,我尝试安装 libpq-dev。尽管如此,即使在安装 libpq-dev 之后,我也找不到任何 pgxs.mk。
真正令人沮丧的是,我什至在 Internet 上的任何地方都找不到 pgxs.mk 的示例。如何安装 PGXS 基础架构?
ruby-on-rails - Heroku 上 Rails 3.1 中 Postgres 口音不敏感的 LIKE 搜索
如何在 Rails 中修改搜索查询的 where/like 条件:
find(:all, :conditions => ["lower(name) LIKE ?", "%#{search.downcase}%"])
这样无论口音如何,结果都匹配?(例如地铁 = 地铁)。因为我使用的是utf8,所以不能使用“to_ascii”。生产在 Heroku 上运行。
postgresql - 在 PostgreSQL 上创建非重音扩展时出错
我正在尝试将 PostgreSQL 配置为在我的 rails 应用程序中使用全文搜索,如该Railscast中所述。
我正在使用使用with安装的全新Ubuntu 12.04
服务器。PostgreSQL 9.1.5
apt-get
ppa:pitti/postgresql
precise
尝试运行迁移时以及在 psql 控制台中与对等 postgres 用户尝试相同的命令时,我收到以下错误:
错误:无法打开扩展控制文件“/usr/share/postgresql/9.1/extension/unaccent.control”:
没有这样的文件或目录
在我运行的本地机器中,Ubuntu 10.04 desktop
我使用相同的存储库 ( natty
),它运行良好。
任何见解将不胜感激。
sql - 忽略 WHERE 子句中的特殊字符
我有一个表artists
,其名称列中有一条值为“Miró”的记录。当我提出这个要求时:
我有一个结果,所以它有效。
现在,当我做这个请求时(没有特殊的ó
):
我什么也没找到。我想忽略特殊字符。有没有办法做到这一点?
我有postgres 9.1.9。
postgresql - Grails / Gorm 和 Postgresql Unaccent
我有一个关于如何将 PostgreSQL 的非重音扩展与 Grails 一起使用的问题。
我有很多法语描述,而 PostgreSQL 对口音不敏感。我安装了 unaccent 扩展,它在 PgAdmin III 上运行良好。
如何配置 Grails 和/或 PostgreSQL 以在我的控制器中使用 unaccent?
这是我的域:
例如,我可以使用 GORM “翻译”下一个查询吗?
谢谢阅读
sql - 在 tsvector 触发器中使用 unaccent
我想在我的 tsvector 列中使用 postgresql 的 unaccent contrib 包。我已经使用 create extension unaccent 成功安装了该软件包,并检查了它是否有效。我设置了一个触发器来自动更新 tsvector 列,
然后使用以下命令在所有现有行上设置 tsv_name 列
我认为我可以通过在上面的代码中简单地将 name 替换为 unaccent(name) 来合并 unaccent 包,但这会在创建触发器代码中引发语法错误。如何解决此问题以确保 tsvector 列使用非重音字符?
sql - unaccent() 防止在 Postgres 中使用索引
我想从导入 PostgreSQL 9.3.5 的 OpenStreetMap 数据库中检索具有给定名称的方式,操作系统是 Win7 64 位。为了有点容错性,我使用 Postgres 的 unaccent 扩展。
我的查询如下所示:
查询计划:
奇怪的是,这个查询使用顺序扫描方式,尽管索引存在于lower(tags->'name')
:
一旦我从查询中删除 unaccent,Postgres 就会使用索引:
查询计划:
为什么 unaccent 会阻止 Postgres 使用索引?在我看来,这没有意义,因为在执行实际查询之前,应该已经完全知道 unaccent 的结果(删除变音符号等)。所以 Postgres 应该可以使用索引。使用 unaccent 时如何避免 seq 扫描?
postgresql - Postgres 和非重音扩展默认目录
我需要在我的 postgres 数据库中添加一个名为 unaccent 的扩展。
Postgres 版本PostgreSQL version: 9.3rc1
我在安装扩展程序时遇到问题。
我做了什么:
sudo apt-get install postgresql-contrib-9.1
我知道它是 9.1 版本,但是在我的测试服务器上,我对 postgres 9.4 版本做了同样的事情,一切正常。
当我在生产服务器上运行脚本时
CREATE EXTENSION 非重音模式 pg_catalog;
它给我一个错误:
无法打开扩展控制文件“/usr/local/pgsql/share/extension/unaccent.control”:目录或文件不存在
在这种情况下有什么问题?扩展程序已安装到“错误”(我猜)目录/usr/share/postgresql/9.1/extension
中,而不是usr/local/pgsql/share/extension
有没有机会让 postgres 查看其他目录而不是扩展的默认目录?
ruby-on-rails - postgres 非重音函数与 RoR 音译
在我们的 RoR 项目中,我们使用 postgres unaccent 函数来检索模型名称属性之一的非重音版本。name 属性可以包含来自各种语言的任何重音字符。然后我们将其保存为 unaccent_name 属性。我不喜欢这个解决方案,因为我们需要确保安装和访问 postgres 扩展 UNACCENT(在测试、移动/清理数据库等时)。
在 RoR 中有 ActiveSupport::Inflector.transliterate 方法,它应该做一些非常相似的事情。
我发现它主要以相同的方式翻译重音字符,但也有一些区别:
相同的结果:
不同的结果:
我知道这两种方法都可以接受带有自定义字母替换的字典,但我只对它们的一般/默认用法感兴趣。
音译方法的主要目的和postgres unaccent函数一样吗?我们可以用它来代替吗?