小编Old*_*Pro的帖子

MySQL按相关性排序

我有一个搜索表单,搜索网站内容表以取回适当的结果.

我想搜索标题和内容字段,并按相关性顺序拉回结果.给予标题最高优先级.

假设我们有一个表(tblContent)

intID | strTitle    | txtContent

1     | Smith John  | Lorem Ipsum
2     | Lorem Ipsum | Lorem John Smith Ipsum
3     | John Smith  | Lorem Ipsum Lorem Ipsum
4     | Lorem Ipsum | Lorem Ipsum Lorem Ipsum
5     | Lorem Ipsum | Lorem Ipsum Smith John
Run Code Online (Sandbox Code Playgroud)

而你正在寻找"约翰史密斯",结果应该以3,2,1,5的顺序返回

这怎么可能?

mysql sql-order-by

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

如何在Go中为Email创建嵌套的multipart/MIME信封?

我正试图弄清楚如何在Go中为电子邮件构建multipart/mime信封.以下代码生成正确嵌套的实体 - 但未正确插入边界.

您可以在https://play.golang.org/p/XLc4DQFObRn上看到演示

package main

import (
    "bytes"
    "fmt"
    "io"
    "log"
    "math/rand"
    "mime/multipart"
    "mime/quotedprintable"
    "net/textproto"
)

//  multipart/mixed
//  |- multipart/related
//  |  |- multipart/alternative
//  |  |  |- text/plain
//  |  |  `- text/html
//  |  `- inlines..
//  `- attachments..


func main() {

    body := &bytes.Buffer{}
    writer := multipart.NewWriter(body)

    var part io.Writer
    var err error

    // Text Content
    part, err = writer.CreatePart(textproto.MIMEHeader{"Content-Type": {"multipart/alternative"}})
    if err != nil {
        log.Fatal(err)
    }

    childWriter := multipart.NewWriter(part) …
Run Code Online (Sandbox Code Playgroud)

email mime multipart go

9
推荐指数
1
解决办法
490
查看次数

如何在使用MySQL排序时排除一些值?

我有这样一张桌子:

id products_name sort
1   abc           0 
2   xyz           1
3   pqr           2
4   qwe           0
Run Code Online (Sandbox Code Playgroud)

我想通过sort列和升序对记录进行排序,但我不希望结果集中顶部的行为0.
0中的sort行应位于结果集的底部,其余行应使用sort列按升序排序.

我该怎么做呢?

mysql sql-order-by

7
推荐指数
2
解决办法
3799
查看次数

iPhone Safari以不同的方式呈现.mobi(dot mobi)域名.但具体如何?

iPhone上的Safari(iOS 4.3)从.mobi顶级域中的网站呈现的网页与.com下的网站不同.虽然Safari做了大量的工作来使桌面格式的网站在小屏幕上运行得相当好,但它似乎放弃了.mobi网站的想法,只是像桌面屏幕一样呈现像素像素.设置视口似乎没有任何效果.

我不是抱怨,只是寻找准确的信息和可能的覆盖.我们曾计划使用XHTML-MP开发一个自定义的.mobi网站,但仍然没有采用它,可能永远不会像智能手机一样,所以现在我们只是服务于该域的常规网站.我们意识到这将在.mobi意图的不那么智能的手机上无法使用,但事实证明它在iPhone上也无法使用.

iphone mobile-safari .mobi

6
推荐指数
1
解决办法
709
查看次数

使用单独的persistence.xml文件进行生产并使用Spring 3.1进行测试

好的,对不起,我几个小时都在寻找答案,但是我为StackOverflow输入了整个问题来冒泡我正在寻找的链接.您可以在此处阅读大量相关信息.


我有一个用Spring Roo创建的Spring项目来使用Hibernate和MySQL.但是,为了进行测试,我想在内存中使用HSQLDB,因为Roo集成测试使用ID(主键)0到10删除数据(而不是使用数据库为他们已创建的数据分配的数据删除数据),这意味着它删除已存在于数据库中的数据,在我的情况下会导致约束违规,然后才能回滚事务.

这有点困难,因为我正在切换整个数据库提供程序,这意味着不同的Hibernate方言以及不同的DDL设置(在生产中验证,在测试中创建 - 丢弃).但它并没有像我期望的那样工作,我为什么难以理解.

如果您知道它为什么不起作用,请说明,即使您没有解决方案.

这是一个Roo项目,我当然正在使用Maven.所以我尝试的第一件事就是拥有一个特定于测试的src/test/resources/META-INF/persistence.xml文件,同样也是一个特定于测试的src/test/resources/META-INF/spring/database.properties文件.这不起作用,因为当我运行mvn test所有内容时,相关消息正在运行

Conflicting persistence unit definitions for name 'persistenceUnit'
Run Code Online (Sandbox Code Playgroud)

为什么mvn test仍然拿起非测试资源?

于是我改名src/test/resources/META-INF/springspring-test并复制applicationContext.xml到它.我将测试类中的上下文配置更改为

@ContextConfiguration(locations = "classpath:/META-INF/spring-test/applicationContext*.xml")

完成(或者我认为)分离,我做了几处编辑spring-test/applicationContext.xml:

更改了属性文件的路径:

<context:property-placeholder location="classpath*:META-INF/spring/*.properties"/>
Run Code Online (Sandbox Code Playgroud)

<context:property-placeholder location="classpath*:META-INF/spring-test/*.properties"/>
Run Code Online (Sandbox Code Playgroud)

更改了持久性单元的名称:

<bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory">
    <property name="persistenceUnitName" value="persistenceUnit"/>
    <property name="dataSource" ref="dataSource"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

<bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory">
    <property name="persistenceUnitName" value="testPersistenceUnit"/>
    <property name="dataSource" ref="dataSource"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

并且我在持久性单元名称中进行了相应的更改 src/test/resources/META-INF/persistence.xml

好吧,好吧,现在没有冲突,但Hibernate失去了实体映射(例如Product实体),我得到:

org.springframework.dao.InvalidDataAccessApiUsageException:
org.hibernate.hql.ast.QuerySyntaxException: Product is not mapped …
Run Code Online (Sandbox Code Playgroud)

testing spring persistence.xml

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

如何重用SELECT,WHERE和ORDER BY子句的结果?

以下查询返回我们附近的场地(lat:62.0,lon:25.0),其中我们按照距离排列的半径:

SELECT *, 
     earth_distance(ll_to_earth(62.0, 25.0), 
     ll_to_earth(lat, lon)) AS distance 
FROM venues 
WHERE earth_distance(ll_to_earth(62.0, 25.0), ll_to_earth(lat, lon)) <= radius 
ORDER BY earth_distance(ll_to_earth(62.0, 25.0), ll_to_earth(lat, lon))
Run Code Online (Sandbox Code Playgroud)

是否可以(并且建议)重复使用结果earth_distance(ll_to_earth(62.0, 25.0), ll_to_earth(lat, lon))而不是为SELECT,WHERE和ORDER BY子句单独计算结果?

sql postgresql select sql-order-by where

6
推荐指数
1
解决办法
1266
查看次数

MySQL JOIN,GROUP BY,ORDER BY

我有一张产品表:

CREATE TABLE products (`id` INT);
Run Code Online (Sandbox Code Playgroud)

以及这些产品的图像表:

CREATE TABLE images (`id` INT, `product_id` INT, `default` TINYINT(1));
Run Code Online (Sandbox Code Playgroud)

我需要选择所有产品,然后加入图像表,以便default首选(= 1)图像,如果产品没有(default= 1)图像,default则会在其中显示带(= 0)的图像地点.


这是一张显示我正在寻找的图片:

在此输入图像描述


现在我有这个查询:

SELECT p.id, i.id
FROM products AS p
LEFT JOIN (
    SELECT product_id, url
    FROM images
    ORDER BY default
) AS i
ON p.id = i.product_id
GROUP BY p.id
ORDER BY p.name
Run Code Online (Sandbox Code Playgroud)

哪个没有优先考虑"默认"图像.子查询似乎没有做任何事情.

mysql sql-order-by

6
推荐指数
1
解决办法
2265
查看次数

防止Rails 3.2.11资产管道缓存?

我已经在Rails资产管道上阅读了很多帖子和文章以及问题和答案,但我仍然没有想出如何完全关闭缓存.

我们正在使用Rails 3.2.11并且在我们的实验室环境中(类似于开发)我们遇到了问题,因为即使我们没有在资产管道中预编译或指纹识别资产,它们仍然被缓存在Rails中(Rack ?)缓存.这很烦人,因为某些资产是基于其他配置而更改的ERB,因此缓存变得陈旧.为了尝试关闭缓存,我们设置了以下配置:

  config.action_controller.perform_caching = false

  config.assets.compress = false

  config.assets.debug = true

  # just in case
  config.cache_store = :file_store, "file_cache"
Run Code Online (Sandbox Code Playgroud)

但是,资产tmp/cache/assets无论如何都会出现.我至少会期望它们出现file_cache,但我真的希望它们不会被缓存.

我们如何防止这些资产被缓存?在这种环境下,仅仅删除缓存是不够的.

奖金问题:只要这些文件被缓存,为什么它们进入tmp/而不进入file_cache/

caching ruby-on-rails asset-pipeline ruby-on-rails-3.2

6
推荐指数
1
解决办法
2893
查看次数

mysql SORT BY唯一字匹配的数量

我发现了许多问题,要求提供大量的出现,但没有一个问题与我希望做的一样.

动态生成(预准备语句)查询将导致如下所示:

SELECT * FROM products WHERE 
( title LIKE ? AND title LIKE ? ) AND 
( content LIKE ? OR content LIKE ? ) AND 
( subtitle LIKE ? AND author LIKE ? )
ORDER BY relevance LIMIT ?,?
Run Code Online (Sandbox Code Playgroud)

输入的单词数量(以及其数量LIKE)是标题,内容和作者的可变数量(取决于搜索查询).

现在我添加了一个ORDER BY relevance.但是我希望这个顺序是匹配的内容字段中的唯一单词数量.(注意:不是关于外观的数量,而是关于content列中输入的字符串中至少有一个匹配的数量).

示例表products:

id | title   | subtitle  | content
------------------------------------
1  | animals | cat       | swim swim swim swim swim swim swim
2 …
Run Code Online (Sandbox Code Playgroud)

mysql sql-order-by

6
推荐指数
1
解决办法
452
查看次数

约束是在自定义触发器之前还是之后执行?

触发器和约束的执行顺序是什么?例如,如果我插入一个错误的外键,pgsql 会在我自己的触发器之前(BEFORE 或 AFTER)检测到这个 fk 吗?

我知道触发器内的异常将回滚在同一个触发器内执行的任何更新/插入(即使对于 AFTER 触发器),但约束是否相同?外键约束是否会从我自己的触发器回滚我所有的插入/更新?

谢谢你

sql postgresql triggers order-of-execution

6
推荐指数
1
解决办法
2599
查看次数