小编Jac*_*ian的帖子

如何在Sphinx中索引纯文本文件以进行搜索

我浏览了数十篇文章和论坛主题,浏览了官方文档,但找不到答案。据说,这篇文章听起来很有希望,The data to be indexed can generally come from very different sources: SQL databases, plain text files, HTML files但不幸的是,正如它所致力于的所有其他文章和论坛主题一样MySQL

听到它Sphinx是如此酷,这很奇怪,它可以做到这一点,并且几乎可以用您喜欢的任何数据源来完成您想要的任何事情。但是,这些示例中除数据源以外的所有其他示例在哪里MySQLSphinx当您要扫描世界上最简单的数据源-纯文本文件时,仅是一个最小的琐碎的分步示例。假设我已经安装Sphinx并想要(递归)扫描主目录以查找所有包含“ Hello world”的纯文本文件。我应该怎么做才能做到这一点?

先决条件

  • Ubuntu
  • sudo apt-get install sphinxsearch
  • ... 接下来是什么????

search sphinx plaintext

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

无法使用Python在PostgreSQL中获取最后一个插入的id

我有一个表格,test_table其中一个字段id会自动递增.现在我想要的是在运行INSERT语句后立即获取最后一个插入的id .此时我所有的尝试都会导致None(顺便说一句,我在MySQL中得到了相同的行为,只有在SQLite中一切正常).这是一些重现这种意外行为的代码:

>>> import psycopg2
>>> cnx = psycopg2.connect(host="127.0.0.1", dbname="reestr", user="postgres", password="postgres")
>>> cur = cnx.cursor()
>>> cur.execute("INSERT INTO test_table (field_1) VALUES ('hello')")
>>> cur.execute("INSERT INTO test_table (field_1) VALUES ('hello')")
>>> cur.execute("SELECT CURRVAL(pg_get_serial_sequence('test_table','id'))")
>>> res = cur.fetchone()
>>> res
(None,)
>>> cur.execute("SELECT id, field_1 FROM test_table")
>>> res = cur.fetchall()
>>> res
[(1, 'hello'), (2, 'hello')]
Run Code Online (Sandbox Code Playgroud)

我们清楚地看到,该id列自动增量,但由于一些疯狂的原因,SELECT CURRVAL(pg_get_serial_sequence('test_table','id'))没有返回任何东西.这有什么问题?顺便说一下,我还尝试在一个事务中显式运行这些查询,并得到完全相同的结果.

python postgresql

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

如何在OL3中使用SLD设置图层样式

似乎不久前OL2有一种很好的方式来设置图层样式SLD,现在似乎不可能做类似的事情OL3.至少,我在网络上找不到任何例子,在官方OL3文档中我甚至找不到任何一个参考SLD.那么,为什么这样以及现实世界应用程序中的人如何在SLD不再支持格式的情况下存储/保存样式?

javascript openlayers-3

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

无法在 Postgresql 中删除一行

我创建了一个小功能和小触发器。当我运行最简单的DELETE查询时,我只在控制台中看到一条通知和一条上下文消息(没有警告也没有错误消息),但是这个DELETE查询仍然没有任何影响(记录保留在表中并且没有被删除)。函数和触发器如下所示:

CREATE FUNCTION trigger_layers_before_del () RETURNS trigger 
AS $$
DECLARE
    table_name text := (SELECT concat ('layer_', OLD.id::text, '_'));
BEGIN 
    EXECUTE '
        DROP TABLE IF EXISTS ' || quote_ident(table_name) || ' CASCADE
    ';
    RETURN NULL;
END;
$$ LANGUAGE  plpgsql;

CREATE TRIGGER tr_layers_del_befor
BEFORE DELETE ON layers FOR EACH ROW
EXECUTE PROCEDURE trigger_layers_before_del();
Run Code Online (Sandbox Code Playgroud)

这是DELETE命令的样子:

DELETE FROM layers where id = 31
Run Code Online (Sandbox Code Playgroud)

所以,如果我运行:

DELETE FROM layers WHERE id = 31;
SELECT * FROM layers WHERE id = …
Run Code Online (Sandbox Code Playgroud)

postgresql

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

如何在Java或C#等静态类型语言中避免参数顺序依赖

我来自Python,Ruby和PHP世界,我尝试遵循的一种技术是从我的代码中删除参数顺序依赖项.这是在Ruby中实现的这种技术的简短演示:

class Gear
    attr_reader :chainring, :cog, :wheel
    def initialize(args)
       @chainring = args[:chainring]
       @cog = args[:cog]
       @wheel = args[:wheel]
    end
    ...
end

Gear.new(
   :chainring => 52,
   :cog => 11,
   :wheel => Wheel.new(26, 1.5)).gear_inches
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,客户端代码不需要知道初始化Gear实例的参数顺序,我喜欢这样.但现在我只是想知道如何在Java这样的静态类型语言中实现同样的东西,我也想知道人们是否试图在这种语言中使用这些技术.如果有人可以分享他们的经验并展示一些演示代码(让它用Java,C#等),那就太好了.

c# java

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

删除Postgres中由另一个引用的表

MySQL我有一个很好的方法来抑制密钥检查,我只是这样做:

SET FOREIGN_KEY_CHECKS = 0;
Run Code Online (Sandbox Code Playgroud)

之后我可以轻松放下任何桌子.我想,Postgresql如果我跑,我也可以这样做:

SET CONSTRAINTS ALL DEFERRED;
Run Code Online (Sandbox Code Playgroud)

但问题是,当我尝试删除一些表后,我得到一个错误列表,说一些表依赖于另一个表blablabla.那么,我做错了什么,我该如何解决呢?谢谢!

postgresql

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

无法删除 OpenLayers 3 中的功能

我在 stackoverflow 上阅读了几十个线程,但没有一个有帮助。所以,这就是我尝试做的:

features.forEach(function(feature){
    source.removeFeature(feature); 
    console.log("removed");
    console.log(feature);
});
Run Code Online (Sandbox Code Playgroud)

结果,当我只选择了一项功能时,我会在控制台中看到以下消息:

removed Controller.js:525:8
Object { disposed_: false, onDisposeCallbacks_: undefined, ...}
Run Code Online (Sandbox Code Playgroud)

就我在控制台中看到的而言,一切看起来都不错。但问题是该特征并未从地图中移除。

编辑

现在更有趣了。如果我使用 getArray 将特征转换为数组并执行以下操作:

 for(var i=0,len=features.length;i<len;i++){
    var feature = features[i];
    source.removeFeature(feature);
 }
 source.clear();
Run Code Online (Sandbox Code Playgroud)

当我有很多功能并且只选择了一个功能时,那么在这种情况下,只有这个选定的功能会保留下来,而所有其余的功能都会被删除。到底他妈发生了什么??

javascript openlayers-3

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

如何用两个表达式阅读Python理解?

我不太明白如何阅读以下理解,即使我知道它的作用:

>>> matrix=[[1,2,3],[4,5,6],[7,8,9]]
>>> [x for row in matrix for x in row]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

那么,这种理解如何转化为自然语言?我不确定,因为如果我试图将这个表达式分成两部分x for row in matrix,for x in row它们在任务的上下文中都变得毫无意义.

python

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

Python中的file_put_contents和iconv等价物?

我想要的是非常简单,可以PHP使用一行代码在语言中完成:

file_put_contents('target.txt', iconv('windows-1252', 'utf-8', file_get_contents('source.txt')));
Run Code Online (Sandbox Code Playgroud)

在Python中,我花了一整天时间试图弄清楚如何实现同样的琐碎事情,但无济于事.当我尝试读取或写入文件时,我经常得到UnicodeDecode errors,str has no method decode以及十几个类似的错误.好像我在SO扫描所有线程,但仍然不知道我该怎么做.

python python-3.x

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

Postgres Debezium CDC 不会发布对 Kafka 的更改

我当前的测试配置如下所示:

version: '3.7'
services:
  postgres:
    image: debezium/postgres
    restart: always
    ports:
      - "5432:5432"
  zookeeper:
    image: debezium/zookeeper
    ports:
      - "2181:2181"
      - "2888:2888"
      - "3888:3888"
  kafka:
    image: debezium/kafka
    restart: always
    ports:
      - "9092:9092"
    links:
      - zookeeper
    depends_on:
      - zookeeper
    environment:
     - ZOOKEEPER_CONNECT=zookeeper:2181
     - KAFKA_GROUP_MIN_SESSION_TIMEOUT_MS=250
  connect:
    image: debezium/connect
    restart: always
    ports:
      - "8083:8083"
    links:
      - zookeeper
      - postgres
      - kafka
    depends_on:
      - zookeeper
      - postgres
      - kafka
    environment:
      - BOOTSTRAP_SERVERS=kafka:9092
      - GROUP_ID=1
      - CONFIG_STORAGE_TOPIC=my_connect_configs
      - OFFSET_STORAGE_TOPIC=my_connect_offsets
      - STATUS_STORAGE_TOPIC=my_source_connect_statuses
Run Code Online (Sandbox Code Playgroud)

我像这样使用 docker-compose 运行它:

$ docker-compose up …
Run Code Online (Sandbox Code Playgroud)

postgresql apache-kafka apache-kafka-connect debezium

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